我对Hibernate很困惑?

时间:2010-09-21 09:32:51

标签: java hibernate jpa orm

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

3 个答案:

答案 0 :(得分:3)

Pascal回答here

  

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

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

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