BigDecimal的JPA @Size注释

如何在MySQL DECIMAL(x,y)列中使用@Size注释?

我正在使用BigDecimal ,但是当我尝试包含@Size max它不起作用。 这是我的代码:

 @Size(max = 7,2) @Column(name = "weight") private BigDecimal weight; 

您可以直接使用Hibernate Validator,并使用@Digits注释您的字段,如下所示:

 @Digits(integer=5, fraction=2) @Column(name = "weight") private BigDecimal weight; 

看到这个答案

 @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)") 

如果您询问应该如何validation,则应使用@Min和@Max注释或@DecimalMin和@DecimalMax注释。

@Size是一个用于validation属性的注释,而不是用于定义其列。 @Size通常用于确保字符串或集合具有特定大小。