Comment puis-je utiliser typcasting à l'intérieur d'un JPQL déclaration?

J'ai deux Integer colonnes dans la base de données derby et db2). J'ai besoin de les séparer les uns avec les autres à l'intérieur d'un JPQL.

Les deux colonnes de type Integer retour à zéro si le reste est un nombre décimal.e.g 0.25 devient 0 etc et c'est compréhensible puisque le type est int.

Dans SQL je pourrais avoir cette par exemple

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

mais qu'est-ce que JPQL équivalent .

Une option pourrait être (je n'ai pas encore essayé) est une @Transient méthode dans l'entité de retourner le type Decimal et de faire ce calcul et le passer à JPQL mais je préfère laisser les SQL faire ce travail.


Mysql ne nécessite pas de casting au niveau base de données . Donc des Comportements différents SGBDR est différent, ce qui est bien . Mais que doit-JPQL faire sans avoir besoin d'utiliser une requête native de savoir que la fonte à la décimale est nécessaire pour cette opération.

Ajoutant dialecte <property name="openjpa.jdbc.DBDictionary" value="derby"/> n'a pas le fixer.

Veuillez noter qu'il est JPA1

OriginalL'auteur Shahzeb | 2012-05-11