我正在使用querydsl-maven-plugin
来从Oracle 11g数据库导出Q路径。我面临的问题是Oracle NUMBER
字段映射到NumberPath<java.math.BigDecimal>
而不是NumberPath<Long>
在代码生成过程中,我是否可以指示querydsl-maven-plugin
将BigDecimal
翻译为Long
?
我现在采用的方法是使用插件生成代码,然后手动翻译类型。
任何提示都将不胜感激。
答案 0 :(得分:2)
目前可以在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
中自定义数字映射