Hibernate vs EclipseLink

2022-09-03 15:23:20

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

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

为什么?它是JPA参考实现,它有很多文档,并且在Eclipse IDE中得到了很好的支持。另外,我找不到任何基准测试来声明它们都不是最好的,所以性能不是一个因素(所有实现都有自己的优势)。

但是,我想使用JSR-303验证规范,并且我选择了休眠验证器(女巫是Bean验证规范的参考实现)。

此外,我正在使用Spring,Spring+Hibernate有很多例子,但我没有发现任何意见说Spring与Hibernate更好。

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


答案 1

我一直在使用JPA的实现与Spring和.到目前为止没有问题。现在回答您的问题:EclipseLinkHibernate-validation-4.2.0.Final

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

我不认为将JPA实现与JSR-303验证规范的实现结合使用会有什么问题,因为这两个规范的目的是不同的:EclipseLinkHibernate

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

Spring 为 JSR-303 Bean 验证 API 提供了全面的支持。您只需要在类路径中存在一个 JSR-303 提供程序(如 Hibernate Validator)并将自动检测到。

而Spring JPA,在软件包下可用,以类似于与.org.springframework.orm.jpaJava Persistence APIHibernate


答案 2

推荐