持久化对象的状态

持久化对象的状态
瞬时对象(Transient Objects):使用new操作符初始化的对象不是立刻就持久的。它们的状态是瞬时的,也就是说它们没有任何跟数据库表相关联的行为,只要应用不再引用这些对象(不再被任何其他对象所引用),他们的状态将会丢失,并有垃圾回收机制回收。
持久化对象(Persist Objects):持久实例是任何具有数据库标识的实例。它由持久化管理器Session统一管理,持久实例是在事务中进行操作的——它们的状态在事务结束时同数据库进行同步。当事务提交时,通过执行SQL的INSERT、UPDATE和DELETE语句把内存中的状态同步到数据库中。
离线对象(Detached Objects):Session关闭之后,持久化对象就变为离线对象。离线表示这个对象不再与数据库保持同步,它们不再受Hibernate管理。


[img]/upload/attachment/81596/cf9d52bd-e6c7-386e-b32c-d9b8acb025e1.jpg[/img]
Transient状态对象的特征:
1 不处于session的缓存中,不和任何一个session实例有关联
2 在数据库中没有相应的记录
Persistent状态的对象特征:
1 位于session的缓存中,Persistent状态的对象总是和一个session实例关联
2 Persistent状态的对象和数据库中的记录有对应
3 Persistent状态的对象发生变化时会自动同步数据库
Detached状态的对象特征:
1 不处于session的缓存中,不和任何一个session实例有关联
2 Detached状态的对象和数据库表中的记录有对应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值