我学习了JPA来进行ORM。现在我被要求使用Hibernate作为我的提供者。如果我从Hibernate开始,它会涉及到不同的概念。请告诉我如何将JPA和Hibernate联系起来。JPA可以将我的Java代码简化为用于持久化对象的简单代码。那么Hibernate对JPA有什么帮助和提供了什么?请有人简单解释一下。
我学习了JPA来进行ORM。现在我被要求使用Hibernate作为我的提供者。如果我从Hibernate开始,它会涉及到不同的概念。请告诉我如何将JPA和Hibernate联系起来。JPA可以将我的Java代码简化为用于持久化对象的简单代码。那么Hibernate对JPA有什么帮助和提供了什么?请有人简单解释一下。
Hibernate不是另一个概念,它只是众多JPA实现之一。另一个是EclipseLink。如果您和实现都遵循规范,那么切换实现只需要在persistence.xml
中更改几行代码(例如<provider>
标记和实现特定属性)。至少在理论上是这样...
JPA是用于持久化对象的API规范。它定义了类似SQL的查询语言,并提供注解来定义实体和关系。
Hibernate是JPA的一个实现,具有多种扩展以及遗留的API和查询语言。只要不使用Hibernate的任何扩展,并坚持使用JPA API,就可以将其与其他JPA实现(如OpenJPA,TopLink等)基本上视为同等对待。