Comment spécifier en Double précision sur hibernate?
J'essaie de créer une table à partir d'hibernate annotations. J'ai besoin d'avoir une colonne de type Double, à la longueur spécifiée comme : (10,2).
Donc la syntaxe SQL show, comme:
... DOUBLE(10,2) ....
J'ai essayé de le faire:
@Column(length = 10, precision = 2) ...
mais quand je regarde ma table créée, il n'est pas précisé la durée de la Double colonne. Ne hibernate a une solution ou est-il nécessaire de modifier le tableau de configuration à la main?
Merci!
- Les sons que vous souhaitez que le type de données Décimal. Je pense que les flotteurs/double seulement paramètre precision.
Vous devez vous connecter pour publier un commentaire.
La
length
élément de la Colonne d'annotation ne s'applique que si une chaîne de valeur de la colonne est utilisée. Dans votre cas, vous devez utiliser leprecision
et lascale
éléments.Ici est ce que la norme écrit à leur sujet:
Références
BigDecimal
à la place.. c'est pourquoi ils ont probablement ne permettent pas d'annotation sur les Doubles.. explication ici -> stackoverflow.com/a/3413493Définition des valeurs par défaut pour les colonnes en JPA
Vous pouvez également utiliser
@Digits
de la hibernate validator qui implémente l'API javax.validation Bean Validation standardDe la Javadoc
Utilisation @Type (seulement en mode veille prolongée):
Entraînera définition (PostgreSQL, Oracle):