40 votes

Comment spécifier la précision de Double en veille prolongée ?

J'essaie de créer une table à partir d'annotations d'hibernation. J'ai besoin d'une colonne de type Double, avec la longueur spécifiée comme : (10,2). Ainsi, la syntaxe SQL s'affiche comme :

 ... DOUBLE(10,2) ....

J'ai essayé de faire ça :

 @Column(length = 10, precision = 2) ...

mais quand je regarde ma table créée, la longueur de la double colonne n'est pas spécifiée. Hibernate a-t-il une solution pour cela ou est-il nécessaire de modifier la configuration de la table à la main ?

Merci!

21voto

Kris Points 200
@Column(name="Price", columnDefinition="Decimal(10,2) default '100.00'")

Définition des valeurs par défaut pour les colonnes dans JPA

3voto

Zeratul Points 1253

Utilisez @Type (uniquement en veille prolongée) :

 @Column(precision = 5, scale = 4)
@Type(type = "big_decimal")
private double similarity;

Se traduira par une définition (PostgreSQL, Oracle) :

 similarity numeric(5, 4),
similarity number(5, 4)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X