Spring Boot JPA - 架构


Java Persistence API 是将业务实体存储为关系实体的源。它展示了如何将 PLAIN OLD JAVA OBJECT (POJO) 定义为实体以及如何管理具有关系的实体。

类级架构

下图展示了JPA的类级架构。它展示了JPA的核心类和接口。

JPA 类级架构

下表描述了上述架构中显示的每个单元。

先生编号 单位及说明
1

实体管理器工厂

这是EntityManager的工厂类。它创建并管理多个 EntityManager 实例。

2

实体管理器

它是一个接口,它管理对象的持久化操作。它的工作原理类似于查询实例的工厂。

3

实体

实体是持久性对象,作为记录存储在数据库中。

4

实体交易

它与EntityManager具有一对一的关系。对于每个 EntityManager,操作由 EntityTransaction 类维护。

5

坚持

此类包含获取 EntityManagerFactory 实例的静态方法。

6

询问

每个JPA供应商都实现这个接口来获取满足条件的关系对象。

上述类和接口用于将实体作为记录存储到数据库中。它们帮助程序员减少编写用于将数据存储到数据库中的代码的工作,以便他们可以专注于更重要的活动,例如编写用于将类与数据库表映射的代码。

JPA 类关系

在上面的架构中,类和接口之间的关系属于javax.persistence包。下图展示了它们之间的关系。

JPA 类关系
  • EntityManagerFactory 和 EntityManager 之间的关系是一对多的。它是 EntityManager 实例的工厂类。

  • EntityManager 和 EntityTransaction 之间的关系是一对一的。对于每个 EntityManager 操作,都有一个 EntityTransaction 实例。

  • EntityManager 和 Query 之间的关系是一对多的。使用一个 EntityManager 实例可以执行许多查询。

  • EntityManager 和 Entity 之间的关系是一对多的。一个EntityManager实例可以管理多个Entity。