位置:首页 > Java技术 > JPA在线教程 > JPA架构

JPA架构

JPA(Java持久性API)是存储业务实体关联的实体的来源。它显示了如何定义一个面向普通Java对象(POJO)作为一个实体,以及如何与管理关系实体。

类级别架构

下图显示了JPA的类的层次结构。它显示核心类和JPA接口。

JPA Class Level Architecture

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

单元 描述
EntityManagerFactory 这是一个EntityManager的工厂类。它创建并管理多个EntityManager实例。
EntityManager 这是一个接口,它管理的持久化操作的对象。它的工作原理类似工厂的查询实例。
Entity 实体是持久性对象是存储在数据库中的记录。
EntityTransaction 它与EntityManager是一对一的关系。对于每一个EntityManager,操作是由EntityTransaction类维护。
Persistence 这个类包含静态方法来获取EntityManagerFactory实例。
Query 该接口由每个JPA供应商,能够获得符合标准的关系对象。

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

JPA类关系

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

JPA Class Relationships

  • EntityManagerFactory和EntityManager的关系是1对多。这是一个工厂类EntityManager实例。

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

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

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