5

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

有什么方法可以指示在代码生成过程中进行querydsl-maven-plugin翻译吗?BigDecimalLong

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

任何提示将不胜感激。

4

1 回答 1

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中自定义数字映射

于 2012-09-27T17:57:12.443 回答