【发布时间】:2012-06-26 04:25:52
【问题描述】:
我在我的项目中使用javax.validation API,并且在一些开发人员机器和测试服务器上遇到了名义上的问题。尽管我们使用的是由 maven 处理的相同 Glassfish 版本、IDE 和库堆栈,但在其他开发人员机器上无法重现此错误。
在调试此问题时,我们怀疑可能是问题的原因(我们无法在编译的类中调试,因此“怀疑”) - 我们有一个用于持久实体的接口:
public interface PersistableEntity<T> {
public T getId();
public void setId(T id);
}
实现类按“id”字段类型划分:String 或 BigDecimal。 @Pattern 约束附加到 PersistableEntity<String> 实现中的 id 字段的 getter。
如果是这个原因,是否可以使用javax.validation 维护验证并同时使用泛型?
更新 我们决定从 JSR303 转移到自定义可配置验证机制。如果有名义问题的人找到了解决方案,请告诉我它是哪一个,我会将其标记为答案(欢迎有经验的 SO 用户解决此困境的任何其他解决方案)。
【问题讨论】:
-
你能提供一个实体来实现这个 PersistableEntity 接口吗? (SSCCE)
-
@sp00m,我们有很大的可持久化实体的层次树,最后还有比较大的 POJO 类,这里很难一一列举。
标签: java validation generics