JPA架构


Java持久性API是将商业实体作为关系实体存储的来源。它演示了如何将PLAIN OLD JAVA OBJECT(POJO)定义为一个实体,以及如何管理具有关系的实体。

课堂级架构

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

JPA类级别体系结构

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

单位 描述
EntityManagerFactory
这是一个EntityManager的工厂类。它创建和管理多个EntityManager实例。
EntityManager
它是一个接口,它管理对象上的持久性操作。它像查询实例的工厂一样工作。
Entity
实体是持久性对象,作为数据库中的记录存储。
EntityTransaction
它与EntityManager具有一对一的关系。对于每个EntityManager,操作由EntityTransaction类维护。
Persistence
该类包含获取EntityManagerFactory实例的静态方法。
Query
该接口由每个JPA供应商实现以获得符合标准的关系对象。

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

JPA类关系

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

JPA类关系

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

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

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

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