持久化服务:EntityManager

本文探讨了Java Persistence API中的实体概念及其作为POJO的特点,介绍了托管与非托管实体的区别,并详细解释了持久上下文的概念,包括transaction-scoped与extended两种类型的持久上下文。

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

实体即POJO(Entities Are POJOs)

在java Persistence规范中,实体即普通的Java对象(POJO)。和其它普通Java对象一样,你只需使用new()运算符就可以为其分配内存。

托管与非托管实体(Managed Versus Unmanaged Entities)

若entity bean与EntityManager相关联,则EntityManager会跟踪实体的状态变更,并在entity manager 决定对实体状态进行flush操作的时候,将这些变更保存到数据库中。

持久上下文(Persistence Context)

Persistence Context是由一组受托管的实体对象实例所构成的集合。它受entity manager所管理。一旦persistence context被关闭,所有实体对象实例都会脱离EntityManager而成为非托管对象。两种类型:transaction-scoped persistence context和extended persistence context。

Transaction-scoped persistence context

会在事务结束后被关闭,事务结束时它将被销毁,而所有的托管实体对象实例也将处于游离状态(detached)。只有受应用服务器管理的persistence context才可以是事务范围的。

EXtended persistence context

与extended persistence context相关联的实体对象实例会一直保持托管状态,甚至在事务提交之后也是如此。

Persistence Unit

每个EntityManager负责将固定数量的一组类映射到数据库中,这组类被称为persistence  unit。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值