BigDecimal的JPA @Size注释

Thr*_*eaT 13 java mysql jpa bean-validation

如何使用@SizeMySQL DECIMAL(x,y)列的注释?

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

@Size(max = 7,2)
@Column(name = "weight")
private BigDecimal weight;
Run Code Online (Sandbox Code Playgroud)

mav*_*ato 22

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

@Digits(integer=5, fraction=2)
@Column(name = "weight")
private BigDecimal weight;
Run Code Online (Sandbox Code Playgroud)


bor*_*jab 12

看到这个答案

@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;
Run Code Online (Sandbox Code Playgroud)


zmf*_*zmf 5

@Column(columnDefinition = "DECIMAL(7,2)")
Run Code Online (Sandbox Code Playgroud)

如果您询问如何验证,则应使用@Min和@Max批注或@DecimalMin和@DecimalMax批注。

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