Comment utiliser l'annotation @Size
Pour les colonnes MySQL DECIMAL(x,y)
?
J'utilise BigDecimal
, mais lorsque j'essaie d'inclure le @Size
max
cela ne fonctionne pas. Voici mon code:
@Size(max = 7,2)
@Column(name = "weight")
private BigDecimal weight;
Vous pouvez utiliser directement le validateur Hibernate et annoter votre champ avec @ Digits comme ceci:
@Digits(integer=5, fraction=2)
@Column(name = "weight")
private BigDecimal weight;
Voir cette réponse
@Column(nullable= false, precision=7, scale=2) // Creates the database field with this size.
@Digits(integer=9, fraction=2) // Validates data when used as a form
private BigDecimal myField;
@Column(columnDefinition = "DECIMAL(7,2)")
Si vous demandez comment valider, vous devez utiliser les annotations @Min et @Max ou les annotations @DecimalMin et @DecimalMax.
@Size est une annotation utilisée pour valider une propriété, pas pour définir sa colonne. @Size est généralement utilisé pour garantir qu'une chaîne ou une collection a une certaine taille.