我使用hibernate实现和JSF2.0将项目转换为JPA2.0。旧项目中有一些注释,如@Length(min = 3)和@NotNull,它们是从org.hibernate.validator.Length中导入的;和org.hibernate.validator.NotNull;JPA中的不同验证
在新项目中我有两个选项。第一个选择,我仍然可以使用@Length(min = 3),但是与org.hibernate.validator.constraints有一点不同的导入。 ;(不适用于来自org.hibernate.validator.Length的旧导入)。第二选择,我可以将它们转换为@Size(min = 3)和@NotNull 并使用import javax.validation.constraints。;
有人能告诉我从这些导入的文件 org.hibernate.validator。* org.hibernate.validator.constraints论文不同的验证(@Length @Size @NotNull)。 ; javax.validation.constraints。;
我很困惑哪一个属于哪个实现和版本,哪一个我应该去找它。
感谢您的回复,我理解JPA和bean验证是规范,Hibernate和Hibernate验证是参考实现。当我使用引用实现的javax.validation.constraints时,对我来说还有一个不明确的部分,它意味着什么?怎么样org.hibernate.validator(哪个参考实现)。如果第二个是hibernate的引用实现,那么第一个是什么? – Yashar 2013-04-29 13:33:54
JPA是持久性领域的规范。 Hibernate ORM是它的一个实现,但不是参考实现(即EclipseLink)。 Bean Validation是验证领域的规范,Hibernate Validator是参考实现。包'javax.validation.constraints'及其类型由Bean Validation规范定义,而相应的约束验证器由诸如Hibernate Validator之类的实现提供。这是否回答你的问题? – Gunnar 2013-04-30 08:40:01