【问题标题】:Hibernate Implementation with JPA2.0使用 JPA2.0 实现休眠
【发布时间】:2015-01-19 02:21:10
【问题描述】:

我有一个关于 JPA 的问题。我们在 JPA 2.0 中使用 Hibernate,每当我们想要执行一些 CRUD 操作时,我们将为 JPA 导入 API,但不是 Hibernate。但是这些方法只是 JPA 中的接口,因为 JPA 只是一个规范而不是实现。那么如何当我们有 entityManager.createQuery() 类型的调用时,CRUD 操作起作用,这些调用只是抽象方法而不是具体方法。有点困惑...感谢您的回应。

【问题讨论】:

  • 我认为这两个答案都解决了您的问题,所以请选择一个。

标签: hibernate jakarta-ee jpa-2.0 crud


【解决方案1】:

EntityManager 是一个接口,每个 JPA 提供者都为其提供了一个实现。 Hibernate EntityManager 实现只是将所有调用委托给当前正在运行的 Session。

CRUD 操作由 EntityManager 方法支持:

  • 坚持
  • 合并
  • 移除
  • 创建查询

【讨论】:

    【解决方案2】:

    重要的是要了解 JPA 和 Hibernate 之间的区别以及 SessionFactory 和 EntityManager 之间的区别(两者都可以在名为“JPA/Hibernate”的框架中使用)。长话短说.. entityManager 是标准的实现,标准是指 JPA,在 sessionFactory 中有很多来自 Hibernate 的功能(它是no标准)。

    推荐的是EntityManager,因为它是一个标准。欲了解更多信息http://www.javabeat.net/jpa-entitymanager-vs-hibernate-sessionfactory/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      相关资源
      最近更新 更多