建筑(Architecture)
优质
小牛编辑
131浏览
2023-12-01
Java Persistence API是将业务实体存储为关系实体的源。 它显示了如何将PLAIN OLD JAVA OBJECT(POJO)定义为实体以及如何管理具有关系的实体。
类级架构
下图显示了JPA的类级体系结构。 它显示了JPA的核心类和接口。
下表描述了上述体系结构中显示的每个单元。
单位 | 描述 |
---|---|
EntityManagerFactory | 这是EntityManager的工厂类。 它创建和管理多个EntityManager实例。 |
EntityManager | 它是一个接口,它管理对象的持久性操作。 它的工作方式类似于Query实例的工厂。 |
Entity | 实体是持久性对象,存储为数据库中的记录。 |
EntityTransaction | 它与EntityManager具有一对一的关系。 对于每个EntityManager,操作由EntityTransaction类维护。 |
Persistence | 此类包含用于获取EntityManagerFactory实例的静态方法。 |
Query | 此接口由每个JPA供应商实现,以获取满足条件的关系对象。 |
上述类和接口用于将实体作为记录存储到数据库中。 它们通过减少编写用于将数据存储到数据库中的代码的努力来帮助程序员,以便他们可以专注于更重要的活动,例如编写用于使用数据库表映射类的代码。
JPAclass关系
在上面的体系结构中,类和接口之间的关系属于javax.persistence包。 下图显示了它们之间的关系。
EntityManagerFactory和EntityManager之间的关系是one-to-many 。 它是EntityManager实例的工厂类。
EntityManager和EntityTransaction之间的关系是one-to-one 。 对于每个EntityManager操作,都有一个EntityTransaction实例。
EntityManager和Query之间的关系是one-to-many 。 可以使用一个EntityManager实例执行许多查询。
EntityManager和Entity之间的关系是one-to-many 。 一个EntityManager实例可以管理多个实体。