Wie kann ich mit typcasting innerhalb einer JPQL-statement?

Habe ich zwei Integer Spalten in der Datenbank (derby und db2). Ich brauche Sie zu teilen mit jedem anderen in einem JPQL.

Beide Spalten Typ Integer null zurückgeben, wenn Rest ist eine dezimale Zahl e ist.g 0.25 wird 0 etc und verständlicherweise so, da Typ int.

In SQL ich hätte diese zum Beispiel

select CAST(column1 as decimal(6,2))/CAST(column2 as decimal(6,2))from Sometable;

aber was ist JPQL entspricht .

Eine Möglichkeit wäre (habe ich noch nicht ausprobiert) ist, um eine @Transient - Methode in der entity Rücksendung der Decimal-Typ, und tun dies Berechnung und pass auf JPQL aber ich hätte es lieber lassen SQL diese Arbeit zu tun.


Mysql nicht erforderlich casting auf der Datenbank-Ebene . So Verhalten sich für verschiedene RDBMS ist anders und das ist gut . Aber was soll JPQL tun mit heraus benötigen, um eine native Abfrage, um zu wissen, dass cast zu dezimal ist für diesen Vorgang erforderlich.

Hinzufügen Dialekt <property name="openjpa.jdbc.DBDictionary" value="derby"/> nicht fix it entweder.

Bitte beachten Sie, es ist JPA1

InformationsquelleAutor Shahzeb | 2012-05-11

Schreibe einen Kommentar