我正在使用querydsl-maven-plugin
以从 Oracle 11g 数据库中导出 Q 路径。我面临的问题是 OracleNUMBER
字段被映射到 NumberPath<java.math.BigDecimal>
而不是NumberPath<Long>
有什么方法可以指示在代码生成过程中进行querydsl-maven-plugin
翻译吗?BigDecimal
Long
我现在采用的方法是使用插件生成代码,然后手动转换类型。
任何提示将不胜感激。
目前可以像这样在 querydsl-maven-plugin 的配置中声明自定义用户类型
<configuration>
<customTypes>
<customType>com.example.NumericLongType</customType>
</customTypes>
</configuration>
com.example.NumericLongType 需要实现 com.mysema.query.sql.types.Type 接口
但理想情况下,这应该是这样的
<configuration>
<overrides>
<NUMERIC>java.lang.Long</NUMERIC>
</overrides>
</configuration>
Querydsl 将在内部处理从 NUMERIC 到 Long 的映射。
随意为它开张票。
更新
现在可以在 Querydsl https://github.com/mysema/querydsl/issues/273中自定义数字映射