JPA定义了Java ORM及实体操作API的标准。本文摘录了JPA的一些关键信息以备查阅。
如果有hibernate的基础,通过本文也可以快速掌握JPA的基本概念及使用。
1 JPA概述
JPA(Java Persistence API,Java持久化API),定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。
JPA是JSR-220(EJB3.0)规范的一部分,在JSR-220中规定实体对象(EntityBean)由JPA进行支持。
所以JPA不局限于EJB3.0,而是作为POJO持久化的标准规范,可以脱离容器独立运行,开发和测试更加方便。
JPA在应用中的位置如下图所示:

JPA维护一个Persistence Context(持久化上下文),在持久化上下文中维护实体的生命周期。主要包含三个方面的内容:
- ORM元数据。JPA支持annotion或xml两种形式描述对象-关系映射。
- 实体操作API。实现对实体对象的CRUD操作。
- 查询语言。约定了面向对象的查询语言JPQL(Java Persistence Query Language)。
JPA的主要API都定义在javax.persistence包中。如果你熟悉Hibernate,可以很容易做出对应:
| org.hibernate | javax.persistence | 说明 |
|---|---|---|
| cfg.Configuration | Persistence | 读取配置信息 |
| SessionFactory | EntityManagerFactory | 用于创建会话/实体管理器的工厂类 |
| Session | EntityManager | 提供实体操作API,管理事务,创建查询 |
| Transaction | EntityTransaction | 管理事务 |
| Query | Query | 执行查询 |

本文详细介绍了JPA的核心概念,包括实体生命周期、ORM映射策略、查询语言JPQL以及事务管理。JPA作为Java的ORM标准,提供注解和XML两种元数据形式描述对象-关系映射,并支持四种实体关系(one-to-one、one-to-many、many-to-one、many-to-many)。此外,JPA的查询语言JPQL支持参数、命名查询、排序、聚合等功能,同时具备本地和容器事务管理能力。
最低0.47元/天 解锁文章
17万+

被折叠的 条评论
为什么被折叠?



