JPA概述、生命周期

JPA概述

JPA(Java Persistence API,Java持久化API),定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。

JPA就是一套定义对象持久化的一套规范,市场上有很多JPA实现,常见的是hibernate jpa 和spring data jpa

JPA主要的内容和操作的API

JPA维护一个Persistence Context(持久化上下文),在持久化上下文中维护实体的生命周期。主要包含三个方面的内容:
1. ORM元数据。JPA支持annotion或xml两种形式描述对象-关系映射。
2. 实体操作API。实现对实体对象的CRUD操作。
3. 查询语言。约定了面向对象的查询语言JPQL(Java Persistence Query Language)。

JPA的主要API都定义在javax.persistence包中。如果你熟悉Hibernate,可以很容易做出对应

JPA概述、生命周期_第1张图片

EntityManagerFactory:实体管理器工厂    EntityManager:实体管理器

JPA中实体的生命周期

JPA概述、生命周期_第2张图片

New:对象刚创建,还没有和实体上下文建立联系

Managed: 持久化对象,有id值,和实体上下文建立了联系,此时对 对象的修改,在事务提交后,会发起update语句更新到数据库。

Detached:游离态对象,有id值,但是和实体上下文脱离联系。调用em.merge()方法后,游离态对象能够回到持久状态。

Removed:对象删除,有id值,和实体上下文有联系



你可能感兴趣的:(JPA)