JPA是Java Persistence API(应用编程接口)的缩写。它最初于2006年5月11日发布。它是一个Java规范,为ORM工具提供了一些功能和标准。它用于检查、控制和持久化Java对象和关系型数据库之间的数据。它被认为是对象关系映射的标准技术。

它被认为是面向对象模型和关系数据库系统之间的联系。由于它是一个Java的规范,JPA本身并不进行任何运作。因此,它需要实现。因此,对于数据持久化的ORM工具,如Hibernate实现了JPA规范。对于数据持久性,javax.persistence包包含了JPA类和接口。

让我们来讨论一下JPA的一些关键特征,具体如下:

  • JPA只是一个规范,它不是一个实现。
  • 它是一套规则和指南,用于设置实现对象关系映射的接口,。
  • 它只需要几个类和接口。
  • 它支持简单、干净、同化的对象-关系映射。
  • 它支持多态性和继承性。
  • 动态和命名查询可以包含在JPA中。

hibernate是一个java框架,开源,轻量级,是java语言的ORM(对象关系映射)工具,它简化了Java应用程序与数据库交互的构建。它被用来在关系数据库系统中保存Java对象。

注:Hibernate ORM框架是由Red Hat设计的。它最初于2007年5月23日发布。它支持跨平台的JVM,并且是用Java编写的。

Hibernate的主要功能是将Java类映射到数据库表。以下是Hibernate的一些主要特点:

  • Hibernate是JPA准则的一个实现。
  • 它有助于将Java数据类型映射到SQL数据类型。
  • 它是JPA的贡献者。

让我们先讨论一下JPA的必要性,然后再继续讨论它们之间的区别,以获得它们之间的激烈差异。因此,如图所示,JPA是一个规范。它为ORM工具提供了共同的功能和原型。所有的ORM工具(如Hibernate)都遵循共同的标准,通过执行相同的规范。因此,如果我们需要将我们的应用程序从一个ORM工具切换到另一个,那么我们可以很容易地做到这一点。

到目前为止,已经讨论了这两个概念和它们的合适需求。现在让跳到JPA和hibernate之间的区别,并对文章进行总结。正如我们所知,JPA只是一个规范,这意味着没有实现。我们可以通过JPA注解来对类进行注解,尽管在没有实现的情况下,任何事情都不会发生。假设JPA是应该遵循的准则,然而,Hibernate是一个JPA的实现代码,它结合了JPA规范所描述的API,并给出了匿名的功能。

以下是JPA和Hibernate之间的区别:

JPA Hibernate
JPA是在javax.persistence包中描述的。 Hibernate是在org.hibernate包中描述的。
它描述了在Java应用程序中对关系数据的处理。 Hibernate是一个对象-关系映射(ORM)工具,用于在关系数据库系统中保存Java对象。
它不是一个实现。它只是一个Java规范。 Hibernate是JPA的一个实现。因此,Hibernate遵循JPA给出的通用标准。
它是一个标准的API,允许执行数据库操作。 它被用于将Java数据类型与SQL数据类型和数据库表格进行映射。
作为一种面向对象的查询语言,它使用Java Persistence查询语言(JPQL)来执行数据库操作。 作为一种面向对象的查询语言,它使用Hibernate查询语言(HQL)来执行数据库操作。
为了与持久化单元的实体管理器工厂互连,它使用EntityManagerFactory接口。因此,它给出了一个实体管理器。 为了创建Session实例,它使用SessionFactory接口。
为了对映射的实体类的实例进行制作、读取和删除操作,它使用EntityManager接口。 这个接口与持久化条件相互连接。
要为映射的实体类的实例制作、读取和删除动作,它使用Session接口。 它作为Java应用程序和Hibernate之间的一个运行时接口。

JPA和Hibernate的区别

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:JPA和Hibernate的区别
本文链接:https://www.vsdiffer.com/vs/java-jpa-vs-hibernate.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。