Hibernate让我感到困惑?

4

我学习了JPA来进行ORM。现在我被要求使用Hibernate作为我的提供者。如果我从Hibernate开始,它会涉及到不同的概念。请告诉我如何将JPA和Hibernate联系起来。JPA可以将我的Java代码简化为用于持久化对象的简单代码。那么Hibernate对JPA有什么帮助和提供了什么?请有人简单解释一下。


1
Hibernate完全支持JPA,因此理论上在切换到Hibernate时不需要更改JPA设置。您能具体说明一下您的问题吗? - Péter Török
2
请再耐心等待一下。你刚刚提问还不到15分钟,就开始抱怨了。让它静置几个小时吧。天啊... - musiKk
可能是Java持久化API(JPA)和Hibernate之间的相似性和差异的重复问题。 - Pascal Thivent
3个回答

3

正如Pascal这里所回答的:

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


2

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


2
在这里很容易被快速的响应时间所宠坏。 ;) - musiKk

2

JPA是用于持久化对象的API规范。它定义了类似SQL的查询语言,并提供注解来定义实体和关系。

Hibernate是JPA的一个实现,具有多种扩展以及遗留的API和查询语言。只要不使用Hibernate的任何扩展,并坚持使用JPA API,就可以将其与其他JPA实现(如OpenJPA,TopLink等)基本上视为同等对待。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接