Hibernate对象状态及其转换

[b]Hibernate中对象的状态:[/b]
持久态(persisted),游离态(detached),临时态(transient)

它们之间状态的转换:
自由状态特征:
1. 不在Session缓存中
2. 数据库中没有对象记录
如何进入临时状态:
1. 通过new语句刚创建一个对象
2. 当调用Session的delete()方法,从Session缓存中删除一个对象时
持久化状态特征:
1. 处于Session缓存中
2. 持久化对象数据库中设有对象记录
3. Session在特定时刻会保持二者同步
如何进入持久化状态:
1. Session的save()把临时--->持久化状态
2. Session的load(),get()方法返回的对象
3. Session的find()返回的list集合中存放的对象
4. Session的update(),saveOrupdate()是游离--->持久化状态
游离状态特征:
1. 不在Session缓存中
2. 游离对象由持久化状态转变而来,数据库中可能还有对应记录。
持久到游离:
1. Session的close()方法
2. Session的evict()方法,从缓存中删除一个对象。提高性能。少用。

Save()方法把实体对象从自由状态转变为持久状态
Load(),get()方法返回的实体对象总是持久状态
Update(),saveOrUpdate(),lock()方法使实体对象从游离状态转变为持久状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值