【问题标题】:I am confused of Hibernate?我对休眠感到困惑?
【发布时间】:2010-09-21 09:32:51
【问题描述】:

我为 ORM 学习了 JPA。现在我被要求使用 Hibernate 作为我的提供者。 如果我从 Hibernate 开始,它会以不同的概念下降。 请说我如何将 JPA 和休眠联系在一起。 JPA 将我的 Java 代码简化为用于持久化对象的简单代码。 现在,hibernate 对 JPA 有什么帮助以及它提供了什么。 请大家简单解释一下。

【问题讨论】:

  • Hibernate 完全支持 JPA,所以理论上你在切换到 Hibernate 时不需要更改 JPA 设置。您能否更具体地说明您的问题?
  • 多一点耐心。从你问起还不到一刻钟,你就已经在抱怨了。让它去几个小时。哎呀...

标签: java hibernate jpa orm


【解决方案1】:

正如Pascal 回答here

JPA 只是一个 API。要使用 JPA,您需要此 API 的实现,此类实现称为持久性提供程序(EcliseLink、Hibernate、OpenJPA)

【讨论】:

    【解决方案2】:

    休眠不是另一个概念;它只是众多 JPA 实现之一。另一个是 EclipseLink。如果您和实现遵循规范,那么切换实现只需更改persistence.xml 中的几行(例如<provider> 标记和实现特定属性)。至少在理论上...

    【讨论】:

    • 当然,这里的快速响应时间很容易被宠坏。 ;)
    【解决方案3】:

    JPA 是用于持久化对象的 API 规范。它定义了一种类似于 SQL 的查询语言,以及用于定义实体和关系的注释。

    Hibernate 是 JPA 的一种实现,它具有各种扩展以及遗留的 API 和查询语言。只要您不使用任何 Hibernate 扩展并坚持使用 JPA API,您就可以或多或少地将其与其他 JPA 实现(例如 OpenJPA、TopLink 等)互换。

    【讨论】:

      猜你喜欢
      • 2014-11-16
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 2013-07-28
      • 1970-01-01
      相关资源
      最近更新 更多