JPA与Hibernate的区别

本文概述

  • 什么是JPA?
  • 什么是Hibernate?
  • 需要JPA
  • JPA与Hibernate
什么是JPA?JPA(Java持久性API)是Java的规范, 用于访问, 管理和持久化Java对象与关系数据库之间的数据。它被认为是对象关系映射的标准方法。
JPA可以看作是面向对象的域模型和关系数据库系统之间的桥梁。作为规范, JPA本身不会执行任何操作。因此, 它需要实施。因此, Hibernate, TopLink和iBatis等ORM工具实现了JPA规范以实现数据持久性。
什么是Hibernate?Hibernate是一个Java框架, 用于将Java对象存储在关系数据库系统中。它是一个开源的, 轻量级的ORM(对象关系映射)工具。
Hibernate是JPA的实现。因此, 它遵循JPA提供的通用标准。
需要JPA【JPA与Hibernate的区别】到目前为止我们已经看到, JPA是一个规范。它为ORM工具提供了通用的原型和功能。通过实现相同的规范, 所有ORM工具(如Hibernate, TopLink, iBatis)都遵循通用标准。将来, 如果要将我们的应用程序从一种ORM工具切换到另一种, 则可以轻松完成。
JPA与Hibernate
PSD素材 冬眠
Java Persistence API(JPA)定义了Java应用程序中关系数据的管理。 Hibernate是一种对象关系映射(ORM)工具, 用于将Java对象的状态保存到数据库中。
这只是一个规范。各种ORM工具将其实现以实现数据持久性。 它是最常用的JPA实现之一。
它在javax.persistence包中定义。 它在org.hibernate包中定义。
EntityManagerFactory接口用于与持久性单元的实体管理器工厂进行交互。因此, 它提供了一个实体管理器。 它使用SessionFactory接口创建Session实例。
它使用EntityManager接口为映射的实体类的实例创建, 读取和删除操作。该接口与持久性上下文进行交互。 它使用Session接口为映射的实体类的实例创建, 读取和删除操作。它充当Java应用程序和Hibernate之间的运行时接口。
它使用Java持久性查询语言(JPQL)作为面向对象的查询语言来执行数据库操作。 它使用Hibernate Query Language(HQL)作为面向对象的查询语言来执行数据库操作。

    推荐阅读