hibernate retour BigDecimal type de données au lieu de long

Hibernate nommé requête renvoie un BigDecimal pour une colonne de type de données NOMBRE.

select col1 as "col1" from table1 union select col2 as "col1" from table2

Sur le côté client, j'attends le type de données de col1 à être long (primitive)
Je fais ceci:

<return-scalar column="col1" type="java.lang.Long" />

ou

<return-scalar column="col1" type="long" />

Dans les deux cas, j'obtiens :

java.lang.ClassCastException: java.math.BigDecimal incompatible with java.lang.Long

Comment puis-je résoudre ce problème? Mon suspiscion, quelque chose de mal avec l'aliasing?

Êtes-vous à l'aide de Oracle? L'Oracle NUMBERtype cartes à BigDecimal.
Oui. Oracle 10g. Comment convertir à la longue?

OriginalL'auteur Victor | 2011-03-21