Spring Boot JPA 与 Hibernate

JPA

JPA 是一个规范,它指定如何访问、管理和持久化 Java 对象和关系数据库之间的信息/数据。 它为 ORM(对象关系映射)提供了一种标准方法。


Hibernate

Hibernate 是 JPA 的一个实现。 它提供了一个轻量级的框架,是最流行的 ORM 工具之一。


JPA 与 Hibernate

下表总结了 JPA 和 Hibernate 之间的差异。

类别 JPA Hibernate
Type JPA 是一种规范,定义了使用 java 对象管理关系数据库数据的方式。 Hibernate 是 JPA 的一个实现。 它是一个将 java 对象持久保存到关系数据库中的 ORM 工具。
Package JPA 使用 javax.persistence 包。 Hibernate 使用 org.hibernate 包。
Factory JPA 使用 EntityManagerFactory 接口让实体管理器持久化对象。 Hibernate 使用 SessionFactory 接口创建会话对象,然后用于持久化对象。
CRUD Operations JPA 使用 EntityManager 接口来创建/读取/删除操作并维护持久性上下文。 Hibernate 使用 Session 接口来创建/读取/删除操作并维护持久化上下文。
Language JPA 使用 JPQL(Java 持久性查询语言)作为面向对象的查询语言进行数据库操作。 Hibernate 使用 HQL(Hibernate Query Language)作为面向对象的查询语言进行数据库操作。