码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate 持久化对象的状态

时间:2015-01-12 23:45:34      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

持久化对象有3种状态:1、持久化状态      2、临时状态      3、游离状态

技术分享
Session 的特定方法能使对象从一个状态转换到另一个状态
临时对象(transient)
•    在使用代理主键的情况下, OID 通常为 null
•    不处于 Session 的缓存中
•    在数据库中没有对应的记录

技术分享
持久化对象(也叫”托管”)(Persist)
•    OID 不为 null
•    位于 Session 缓存中
•    持久化对象和数据库中的相关记录对应
•    Session 在清理缓存时, 会根据持久化对象的属性变化, 来同步更新数据库
•    在同一个 Session 实例的缓存中, 数据库表中的每条记录只对应唯一的持久化对象

技术分享
游离对象(也叫”脱管”)(Detached)
•    OID 不为 null
•    不再处于 Session 的缓存中
•    一般情况需下, 游离对象是由持久化对象转变过来的, 因此在数据库中可能还存在与它对应的记录
Session使用以下方法可以使持久化对象转变成游离对象:
技术分享

 

技术分享

Hibernate 持久化对象的状态

标签:

原文地址:http://www.cnblogs.com/liuwt365/p/4220002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!