qubianzhong
Hibernate中 对象 的三种状态
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
qubianzhong
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
Hibernate中 对象 的三种状态
Hibernate中 对象 的三种状态
qubianzhong
关注
发布于 2018-08-10 16:51:02
549
0
发布于 2018-08-10 16:51:02
举报
文章被收录于专栏:
行者常至
在Hibernate中,可以把实体对象看成3中状态,分别是:
瞬时态(临时态)、持久态、脱管态(游离态)。
临时态
转换
通过new创建的对象为瞬时态
通过delete方法操作的对象将转变为瞬时态
特征
瞬时态的对象可以被垃圾回收
瞬时态的对象未进行过持久化,未与session关联
持久态
转换
通过get 、load 、list 、iterate 方法查询到的对象为持久态
通过save 、update 方法操作的对象转变为持久态
特征
持久态对象垃圾回收器不能回收
持久态对象进行了持久化,与session相关联,实际上持久态对象存在于session缓存中,由session负责管理。
持久态对象的数据可以自动更新到数据库中,时机是在调用session.flush()时执行。而提交事务时会调用session.flush(),因此提交事务时也会触发同步,可以理解为ts.commit=session.flush()+commit
脱管态
转换
通过session的evict 、clear 、close 方法操作的对象会转变为脱管态
特征
脱管态的对象可以被垃圾回收
脱管态的对象进行过持久化,但已于session解除了关联
3种状态的转换:
瞬时态:
session、数据库 里都没有。
持久态:
session、数据库 里都有
脱管态:
session里有、数据库里没有
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2015年07月21日,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
其他
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
其他
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
在Hibernate中,可以把实体对象看成3中状态,分别是:瞬时态(临时态)、持久态、脱管态(游离态)。
临时态
持久态
脱管态
3种状态的转换:
瞬时态: session、数据库 里都没有。
持久态: session、数据库 里都有
脱管态: session里有、数据库里没有
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐