Mapping java.long à oracle.(14)
J'ai db colonne dont le type de données est le Nombre (15) et j'ai le champ correspondant dans des classes java comme long. La question est de savoir comment aurais-je de la carte à l'aide de java.sql.Types.
- aurait Types.BIGINT travail?
- Ou doit-je utiliser autre chose?
P. S:
Je ne peux pas les moyens de changer le type de données à l'intérieur de la classe java et dans les DB.
Si vous ne pouvez pas modifier ni la base de données le code - quel est le but de la question?
Je pense que l'OP voulait dire qu'ils ne peuvent pas se permettre de changer à la fois et je me demandais ce qui devrait être changé. Je peux me tromper mais
Je pense que l'OP voulait dire qu'ils ne peuvent pas se permettre de changer à la fois et je me demandais ce qui devrait être changé. Je peux me tromper mais
OriginalL'auteur x.509 | 2011-10-03
Vous devez vous connecter pour publier un commentaire.
De ce lien il est dit que
java.sql.Types.BIGINT
doit être utilisé pourlong
en Java pourNumber
en SQL (Oracle).Fixation capture d'écran de la table au cas où le lien ne meurt jamais.
Integer
etint
et nullableOriginalL'auteur Mike
Un bon endroit pour trouver fiable de la taille des mappages entre Java et Oracle Types est l'outil ORM Hibernate. Documenté dans le code ici, Hibernate utilise un Oracle NOMBRE(19,0) pour représenter un java.sql.Les Types.BIGINT qui doivent correspondre à une longue originaire
OriginalL'auteur robododge
J'ai toujours utiliser le wrapper type, car les types wrapper peut être explicite les valeurs null.
Dans ce cas, je vais utiliser de Longues wrapper type.
OriginalL'auteur Tarcísio Júnior
J'ai eu un problème similaire où je ne pouvais pas modifier le Type Java ou le Type de Base de données. Dans ma situation, je nécessaire à l'exécution d'un natif de la requête SQL (pour être capable d'utiliser l'Oracle de la requête Récursive capacités) et la cartographie de l'ensemble des résultats à une non-entité gérée (essentiellement une simple classe pojo).
J'ai trouvé une combinaison de addScalar et setResultTransformer fait des merveilles.
Où
notifyStateId
,parentId
,sourceTbl
,sourceId
,msgType
, etlastUpdatedDateAndTime
sont toutes les propriétés deMyState
.Sans
addScalar
's, je voudrais obtenir unjava.lang.IllegalArgumentException: argument type mismatch
parce que Hibernate était en train d'OracleNumber
de type dans unBigDecimal
maisnotifyStateId
etparentId
sontLong
types surMyState
.OriginalL'auteur FGreg