2012-09-26 5 views
5

Oracle 11gデータベースからQパスをエクスポートするには、querydsl-maven-pluginを使用しています。私が直面しています問題は、Oracle NUMBERフィールドがNumberPath<java.math.BigDecimal>代わりのNumberPath<Long>querydsl-maven-pluginに、BigDecimalの代わりにLongを使ってNumberPathを生成するように指示するにはどうすればよいですか?

私はコード生成時にLongBigDecimalを翻訳しquerydsl-maven-pluginを指示することができますどのような方法がありますにマッピングされているということでしょうか?

私が今取っているアプローチは、プラグインを使用してコードを生成し、タイプを手作業で翻訳することです。

ヒントがあれば幸いです。

答えて

2

com.mysema.query.sqlを実装する必要があります。この

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

com.example.NumericLongTypeようquerydsl-のmaven-プラグインの設定でカスタム・ユーザー・タイプを宣言することは現在可能です。 types.Typeインタフェース

しかし、理想的に、これは、この

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

のようなものであるべきとQuerydslが内部NUMERICからロングへのマッピングを処理します。

気軽にチケットを開封してください。

更新

数値マッピングがQuerydsl https://github.com/mysema/querydsl/issues/273

+0

になりましたカスタマイズが可能です。この設定方法で利用可能なドキュメントはありますか? – bert

+0

この設定方法で問題に記載されているデフォルトのマッピングを使用するか、上書きを追加することができます。http://www.querydsl.com/static/querydsl/2.9.0/apidocs/com/mysema/query/sql/Configuration .html#registerNumeric%28int、%20int、%20java.lang.Class%29 –

+0

ありがとう、私はqueryDSLコードを掘って、これも見つかりました。これはMavenの設定を介して行うことが可能ですか?私はMappingProjection を使用していると思うので好奇心が強いので、そこで型マッピングを実行できます。ところで、queryDSLのおかげで、感謝します。 – bert

関連する問題