Spring Boot Jpa 简明教程

Spring Boot JPA - Architecture

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

Class Level Architecture

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

jpa class level architecture

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

Sr.No

Units & Description

1

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

2

EntityManager 它是一个接口,管理对象上的持久性操作。它如同 Query 实例的工厂。

3

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

4

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

5

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

6

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

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

JPA Class Relationships

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

jpa class relationships
  1. EntityManagerFactory 和 EntityManager 之间的关系为 one-to-many 。它是 EntityManager 实例的工厂类。

  2. EntityManager 和 EntityTransaction 之间的关系为 one-to-one 。对于每个 EntityManager 操作,都有一个 EntityTransaction 实例。

  3. EntityManager 和 Query 之间的关系为 one-to-many 。可以使用一个 EntityManager 实例执行许多查询。

  4. EntityManager 和 Entity 之间的关系为 one-to-many 。一个 EntityManager 实例可以管理多个 Entity。