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

时间:2012-09-26 11:52:42

标签: java oracle maven querydsl

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

在代码生成过程中,我是否可以指示querydsl-maven-pluginBigDecimal翻译为Long

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

任何提示都将不胜感激。

1 个答案:

答案 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

中自定义数字映射