我在我的项目中使用了javax.validation
API,并且在某些开发人员计算机和测试服务器上存在标题问题。在其他开发人员机器上,尽管我们使用的是由Maven处理的相同Glassfish版本,IDE和库堆栈,但无法再现此错误。找不到可用于类型的验证程序:java.lang.Object
在调试这个问题,我们猜测这可能是问题的原因(不能编译的类里面调试,因此“疑似”) - 我们有一个接口,用于我们的持久化的实体:
public interface PersistableEntity<T> {
public T getId();
public void setId(T id);
}
实现类按'id'字段类型拆分:String
或BigDecimal
。 @Pattern
约束连接到PersistableEntity<String>
实现中id
字段的获取方。
如果这是原因,是否可以使用javax.validation
来维护验证,并在同一时间使用泛型?
更新 我们决定从JSR303移动到自定义配置的验证机制。如果有问题的人发现它是解决方案,请让我知道它是哪一个,我会将其标记为答案(欢迎来自经验丰富的SO用户的任何其他解决方案以避免这种困境)。
贵国是否能实现这个PersistableEntity接口的实体? ([SSCCE(http://sscce.org/)) – sp00m
@ sp00m,我们有持久化的实体大层次树,并在年底有比较大的POJO类,这将是很难在这里一一列举下来的。 –