【问题标题】:EntityManager + Spring Transactional QuestionEntityManager + Spring 事务问题
【发布时间】:2011-05-31 00:42:32
【问题描述】:

我对概念有疑问,我认为我在混合一些东西。我有一个带有 DAO 层的应用程序,这些 DAO 的实现使用 SessionFactory (Hibernate) 来执行 CRUD 操作,我还有一个服务层并使用 Spring 声明式事务管理我的工作单元,一切正常,我不确定是否使用 EntityManager,但似乎它的作用是管理我的工作单元(我正在使用 Spring 做同样的事情)。

什么时候应该使用 EntityManager? 使用它有什么好处? 我为什么要使用它?

谢谢。

【问题讨论】:

    标签: hibernate spring orm jpa entitymanager


    【解决方案1】:

    EntityManager 用于 JPA,就像 SessionFactory 用于 Hibernate。即使您使用 JPA,Spring 仍然可以管理您的事务。如果您的 JPA 提供者是 Hibernate,那么您可以安全地混合和匹配 Hibernate 和 JPA 的东西,因为它们可以一起工作。

    现在来谈谈何时使用 EntityManager 和优点的问题:

    如果您正在开始一个新项目并且可以使用 JPA 2,那么我建议您开始使用它,因为 JPA 是规范(意味着如果您坚持规范,那么您可以在不更改代码的情况下更改实现。Eclipseling 、DataNucleus、OpenJPA 是 JPA 规范的一些示例实现)。如果您无法迁移到 JPA 2,那么我建议您坚持使用 Hibernate。

    还可以浏览以下帖子

    What does Hibernate/Toplink offer above JPA?

    JPA or Hibernate for Java Persistence?

    JPA 1 is not good enough

    【讨论】:

      猜你喜欢
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多