如何对MySQL @Size
列使用DECIMAL(x,y)
注释?
我正在使用BigDecimal
,但当我尝试添加@Size
max
时,它无效。这是我的代码:
@Size(max = 7,2)
@Column(name = "weight")
private BigDecimal weight;
答案 0 :(得分:21)
您可以直接使用Hibernate Validator,并使用@Digits注释您的字段,如下所示:
@Digits(integer=5, fraction=2)
@Column(name = "weight")
private BigDecimal weight;
答案 1 :(得分:11)
请参阅this answer
@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;
答案 2 :(得分:4)
@Column(columnDefinition = "DECIMAL(7,2)")
如果您询问应如何验证,则应使用@Min和@Max注释或@DecimalMin和@DecimalMax注释。
@Size是一个用于验证属性的注释,而不是用于定义其列。 @Size通常用于确保字符串或集合具有一定的大小。