java - 我如何告诉 querydsl-maven-plugin 使用 Long 而不是 BigDecimal 生成 NumberPath?

标签 java oracle maven querydsl

我正在使用 querydsl-maven-plugin为了从 Oracle 11g 数据库导出 Q 路径。我面临的问题是 Oracle NUMBER字段映射到 NumberPath<java.math.BigDecimal>而不是 NumberPath<Long>

有什么方法可以指导 querydsl-maven-plugin翻译BigDecimalLong在代码生成期间?

我现在采用的方法是使用插件生成代码,然后手动转换类型。

如有任何提示,我们将不胜感激。

最佳答案

目前可以像这样在 querydsl-maven-plugin 的配置中声明自定义用户类型

<configuration>
  <customTypes>
    <customType>com.example.NumericLongType</customType>
  </customTypes>
</configuration>

com.example.NumericLongType 需要实现 com.mysema.query.sql.types.Type 接口(interface)

但理想情况下,这应该是这样的

<configuration>
  <overrides>
    <NUMERIC>java.lang.Long</NUMERIC>
  </overrides>
</configuration>

Querydsl 将在内部处理从 NUMERIC 到 Long 的映射。

欢迎为它开工单

更新

现在可以在 Querydsl 中自定义数字映射 https://github.com/mysema/querydsl/issues/273

关于java - 我如何告诉 querydsl-maven-plugin 使用 Long 而不是 BigDecimal 生成 NumberPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12601143/

相关文章:

java - InvalidInputException:输入路径不存在

java - 如何测试 URL 是否受 SSL 保护

java - 如何配置 github 操作以使用 Maven 进行编译并依赖于其他私有(private)存储库?

java - 在 Java 中链接两个抽象工厂模式

java - 在最近的单词边界截断字符串

java - Java 中多维数组的 ClassCastException

oracle - 使用 FOR UPDATE SKIP LOCKED 打开 OUT SYS_REFCURSOR 时出错

sql - 使用 JOIN 来避免数字 ID 是一件坏事吗?

oracle - 如何使用 Oracle 的 sdo_distance

maven - 来自intellij的无效类来自Maven本地存储库中的现有jar