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通常用于确保字符串或集合具有特定大小。
- 我可以在ConstraintValidator中为Method参数更改属性路径吗?
- 交叉字段validation(JSR 303)问题
- 如何在REST Web服务中处理资源validation?
- 更新(合并)时缺少Spring Data JPAvalidation
- Hibernatevalidation失败时出现意外的UnsupportedOperationException
- Beanvalidation引发ConstraintViolationException时自定义JAX-RS响应
- Bean Validation Groupinheritance不适用于Group Sequence Provider
- 它如何在JSF2中使用beanvalidation消息和i18n?
- JSF:JSR 303 Beanvalidation – 为什么在getter而不是setter?