Spring Boot JPA - 架构



Java 持久性 API 是一个将业务实体存储为关系实体的来源。它展示了如何将一个普通旧 Java 对象 (POJO) 定义为实体,以及如何管理具有关系的实体。

类级别架构

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

JPA Class Level Architecture

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

序号 单元及描述
1

EntityManagerFactory

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

2

EntityManager

它是一个接口,管理对象上的持久化操作。它像 Query 实例的工厂一样工作。

3

实体

实体是持久化对象,存储在数据库中的记录。

4

EntityTransaction

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

5

持久化

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

6

查询

此接口由每个 JPA 供应商实现,以获取满足条件的关系对象。

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

JPA 类关系

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

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

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

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

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

广告