JPA - Architecture

Java Persistence API是将业务实体存储为关系实体的源.它显示了如何将PLAIN OLD JAVA OBJECT(POJO)定义为实体以及如何管理具有关系的实体.

类级架构

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

JPA Class Level Architecture

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

Units描述
EntityManagerFactory 这是EntityManager的工厂类.它创建并管理多个EntityManager实例.
EntityManager 它是一个接口,它管理对象的持久性操作.它的工作方式类似于查询实例的工厂.
实体 实体是持久性对象,存储为数据库中的记录.
EntityTransaction 它与EntityManager有一对一的关系.对于每个EntityManager,操作由EntityTransaction类维护.
持久性 此类包含获取EntityManagerFactory实例的静态方法.
查询 此接口由每个JPA供应商实现,以获取符合条件的关系对象.

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

JPA Class关系

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

JPA Class Relationships

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

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

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

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