Hibernate vs EclipseLink

jfc*_*edo 13 java hibernate jpa eclipselink

我正在开始一个新的Web项目,我选择了JPA作为我的持久性ORM引擎.

虽然我在上一个项目中使用过OpenJPA,但现在我想使用EclipseLink.

为什么?它是JPA参考实现,它在Eclipse IDE中有很多文档和非常好的支持.此外,我找不到任何基准,宣称它们都不是最好的,因此性能不是一个因素(所有实现都有自己的优势点).

但是,我想使用JSR-303验证规范,我选择了hibernate-validator(女巫是Bean Validation规范的参考实现).

而且,我正在使用Spring,并且有很多Spring + Hibernate的例子,但是我没有发现任何关于Spring对Hibernate更好的看法.

混合这两种实现有什么问题吗?将Hibernate JPA与Hibernate Bean验证一起使用会更好吗?

Deb*_*kia 10

我一直在使用EclipseLinkSpring和JPA的JPA实现Hibernate-validation-4.2.0.Final.到目前为止没问题.现在回答你的问题:

混合这两种实现有什么问题吗?

我不认为使用EclipseLinkJPA实现与HibernateJSR-303验证规范的实现一起会有任何问题,因为这两个规范的目的是不同的:

  • JSR 303 - Bean Validation - 定义用于实体验证的元数据模型和API.这与特定的应用程序层或编程模型无关.
  • JPA - 这是Java API的规范,用于管理使用Java EE和Java SE的持久性和对象/关系映射.

Spring为JSR-303 Bean Validation API提供了完全支持.您只需要在类路径中存在一个JSR-303提供程序,例如Hibernate Validator,它将被自动检测到.

Spring包含的Spring JPA 以类似于集成的方式org.springframework.orm.jpa提供全面的支持.Java Persistence APIHibernate