JPA - 架构



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

类级别架构

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

JPA Class Level Architecture

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

单元 描述
EntityManagerFactory 这是 EntityManager 的工厂类。它创建和管理多个 EntityManager 实例。
EntityManager 这是一个接口,它管理对象的持久化操作。它充当 Query 实例的工厂。
实体 (Entity) 实体是持久化对象,存储在数据库中的记录。
EntityTransaction 它与 EntityManager 具有一对一的关系。对于每个 EntityManager,操作由 EntityTransaction 类维护。
Persistence 此类包含用于获取 EntityManagerFactory 实例的静态方法。
Query 此接口由每个 JPA 供应商实现,以获取满足条件的关系对象。

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

JPA 类关系

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

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

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

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

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

广告