找不到类型为:java.lang.Short的验证器

时间:2012-11-19 15:47:47

标签: java hibernate jaxb hibernate-validator

我有一个包含以下内容的JAXB生成的类:

@Pattern(regexp = "[0-9]", message = "Message details here")
protected Short msgVal;

当我运行JUnit测试以通过Hibernate验证该类的实例时,我得到:

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

如果我注释掉@Pattern约束,则JUnitTest运行正常。

是否可以对Short值设置@Pattern约束?如果是这样,我错过了什么?

此致 PM。

2 个答案:

答案 0 :(得分:6)

@Pattern适用于Strings,您无法将其应用于Short。相反,您可以使用@Max和/或@Min。 @Digits可能会更好。

@Digits(integer=1, fraction=0)
protected Short msgVal;

答案 1 :(得分:0)

no @Pattern注释只将参数作为String。您可以使用@Digits(message="message here", integer=32767, fraction = 0)