HV000030 javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Integer

  |   0 评论   |   539 浏览

在使用hibernate的validator的时候,出现了问题,记录下。

1、报错信息
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘org.hibernate.validator.constraints.NotBlank’ validating type ‘java.lang.Integer’. Check configuration for ‘orderId’
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.throwExceptionForNullValidator(ConstraintTree.java:227) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final]
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getConstraintValidatorNoUnwrapping(ConstraintTree.java:308) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final]
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getConstraintValidatorInstanceForAutomaticUnwrapping(ConstraintTree.java:242) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final]

2、原因分析
@NotBlank(message = “订单id不能为空”)
private Integer orderId;
这边使用了Integer,NotBlank不能判断Integer类型

3、解决思路
@NotEmpty 用在集合类上面
@NotBlank 用在String上面
@NotNull 用在基本类型上

修改为
@NotNull(message = “订单id不能为空”)
private Integer orderId;

我的公众号
a8f523d8f650443e8b238a3575c5c4f6.png

本文为博主原创文章,未经博主允许不得转载。

评论

发表评论