JPA学习笔记(1)----简介和基本概念

本文介绍了JPA(Java Persistence API)的基本概念,包括实体、实体管理器、持久性上下文等关键组件及其工作原理。此外,还详细解释了实体的状态管理和不同类型的实体关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,简介

  JPA - java persistence API- 在 2006年5月正式发布,虽然作为EJB3.0的一部分,但是它可以独立使用,而且在j2se里也包含JPA包。JPA是面向关系数据库的,目前不支持xml,OODBMS等其他类型的数据库持久化。

  JPA包括三部分:java持久化API,查询语言,OR映射元数据。

 

二,基本概念:

(1)实体和实体管理器: 实体由实体管理器管理。实体管理器负责实体的创建,删除和查询。

        实体管理器有两种:容器托管和应用程序托管。

  (1.1)容器托管的实体管理器:除了负责管理实体之外,还负责事务管理。有两种方法获得容器托管的实体管理器:使用@PersistenceContext注释的依赖注入,和,通过JNDI查找。

   (1.2)应用程序托管的实体管理器:实体的创建,删除,查询和其他与试题管理器关联的生命周期时间都由应用程序内自定义的软件控制的实体管理器负责。此时,EntityManager实例通过试题管理器工厂获得。

(2)持久性上下文:容器托管的实体管理器支持两种持久性上下文的生存周期。其一,事务持续时间内。其二,扩展作用域持久性上下文-生存期跨越多个事务。

(3)实体元数据:描述实体的持久化方式,并通知持久化软件该实体需要被持久化。

(4)实体状态:新建,被托管,被释放,已删除。新建的实体实例是还未被托管或者持久化的实体。被托管的实体实例已经被持久化,因而与一个持久性上下文关联。被释放的实体实例曾经被托管,但是现在已经不与持久化上下文关联。已删除的实体实例是一个具有持久性标志,与一个持久化上下文关联,并且已经进入待删除队列的实体。

(5)实体关系:一对一(@OneToOne),一对多(@OneToMany),多对一(@ManyToOne),多对多(@ManyToMany)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值