2012-09-26 9 views
5

Ich verwende querydsl-maven-plugin, um Q-Pfade aus einer Oracle 11g-Datenbank zu exportieren. Das Problem, das ich bin vor ist, dass Oracle NUMBER Felder NumberPath<java.math.BigDecimal> abgebildet werden statt NumberPath<Long>Wie kann ich dem querydsl-maven-plugin mitteilen, dass NumberPath mit Long statt BigDecimal generiert wird?

Gibt es eine Möglichkeit ich querydsl-maven-plugin anweisen kann BigDecimal zu Long bei der Codegenerierung zu übersetzen?

Der Ansatz, den ich gerade mache, besteht darin, das Plugin zu verwenden, um den Code zu generieren und dann die Typen von Hand zu übersetzen.

Alle Hinweise würden geschätzt.

Antwort

2

Es ist derzeit möglich, benutzerdefinierte Benutzertypen in der Konfiguration der querydsl-Maven-Plugin wie dies

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

com.example.NumericLongType zu erklären, würde die com.mysema.query.sql implementieren müssen. types.Type Schnittstelle

Aber im Idealfall sollte dies so etwas wie diese

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

und Querydsl würde die Zuordnung von NUMERIC nach Long intern behandeln.

Fühlen Sie sich frei, ein Ticket dafür zu öffnen.

aktualisieren

Numerische Zuordnungen sind nun anpassbar in Querydsl https://github.com/mysema/querydsl/issues/273

+0

ist es eine Dokumentation zur Verfügung, wie dies zu konfigurieren? – bert

+0

Sie können sich auf die Standardzuordnungen verlassen, die im Problem erwähnt werden, oder Überschreibungen über diese Konfigurationsmethode hinzufügen http://www.querydsl.com/static/querydsl/2.9.0/apidocs/com/mysema/query/sql/Configuration .html # registerNumeric% 28int,% 20int,% 20java.lang.Class% 29 –

+0

danke, ich habe den queryDSL-Code durchforstet und auch diesen gefunden. Ist es möglich, dies über maven config zu tun? Nur neugierig, wie ich denke, werde ich MappingProjection bert

Verwandte Themen