【发布时间】:2015-10-06 17:14:04
【问题描述】:
编辑:我使用的是 Jersey 2.22 和 Hibernate 4.1.4。
根据文档:
Jersey 中的 Bean 验证支持作为 扩展模块 提供,需要在您的 pom.xml 文件中明确提及(如果使用 Maven)
据我所知,这不是必需的。但是,我在我的项目中也使用了 Hibernate,这可能是一个很大的因素。
有趣的是我没有在我的 Hibernate 中使用 bean 验证,一切都是用 XML 配置的老派(映射、持久性、会话工厂等)。
每当我将来自 Jersey 捆绑包的 validation-api-1.1.0-Final.jar 包含在我的依赖项中时,就会出现此错误 org.hibernate.HibernateException: Error applying BeanValidation relational constraints。
我所做的临时修复是在我的 Hibernate 配置中禁用 javax.persistence.validation.mode,一切正常。但问题是,我不想再修改我的配置了,因为这个 Hibernate 项目在我所有的项目中都使用过,我担心这个小改动可能会产生巨大的影响——我猜是偏执狂。
所以我有两个问题:
- 为什么 Jersey 要求我包含 bean 验证依赖项? (从某种意义上说,如果我没有,我的应用程序将继续抛出异常)
- 看到我没有对 Hibernate 使用 bean 验证,但打算在 Jersey 中使用 bean 验证,我最好禁用
javax.persistence.validation.mode吗?还是最好只包含一个 bean 验证 jar?
【问题讨论】:
标签: java hibernate validation bean-validation jersey-2.0