📜  JPA-体系结构

📅  最后修改于: 2020-11-13 05:00:40             🧑  作者: Mango


Java Persistence API是将业务实体存储为关系实体的源。它显示了如何将“普通旧对象”(POJO)定义为实体,以及如何管理具有关系的实体。

类级架构

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

JPA类级别架构

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

Units Description
EntityManagerFactory This is a factory class of EntityManager. It creates and manages multiple EntityManager instances.
EntityManager It is an Interface, it manages the persistence operations on objects. It works like factory for Query instance.
Entity Entities are the persistence objects, stores as records in the database.
EntityTransaction It has one-to-one relationship with EntityManager. For each EntityManager, operations are maintained by EntityTransaction class.
Persistence This class contain static methods to obtain EntityManagerFactory instance.
Query This interface is implemented by each JPA vendor to obtain relational objects that meet the criteria.

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

JPA类关系

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

JPA类关系

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

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

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

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