注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

欢迎来到三件事的空间

欢迎登陆 javacs.cn

 
 
 

日志

 
 

hibernate对象三种状态 持久 游离和 瞬时  

2010-01-25 14:43:46|  分类: hibernate笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
初学者大家有一个误区就是hibernate对象三种状态 持久 游离和 瞬时 究竟hibernate为什么要定义这三种状态和作用是什么,因为在开发中我看到同事好多在乱用也包括我自己,所以就自己写了点东西供大家参考。
咱们通过 get load Query对象取出的数据 都是持久态的
1.为什么叫持久态的呢 是咱们在 事物提交时候 如果提交了这个对象 这个对象之前的操作都会被存入数据库
持久态只有在事物提交后才能真正的持久 也就是数据库数据改变 这就是持久态的终极意义

2.哪些对象是游离态的呢 是从持久化的数据转化而来 比如你session关闭 或者从session里delete了这个对象等
这个时候 hibernate定义了这种对象就叫游离态的了 如果你在事物提交里面之前改变了这个对象 是不会反应到数据库里面 这就是游离的特征 讲完了 然后讲瞬时
3.瞬时最简单 和hibernate session无关 就是咱们直接new的对象 hibernate叫他瞬时态对象
他和游离一样 事物提交也不能改变数据库对应的数据


有人说 我想把瞬时对象和游离对象要变成持久的怎么办
hibernate提供的 save update等方法就是把非持久化的对象变成持久态的了

OK 总结完毕 欢迎大家留言一起讨论。



  评论这张
 
阅读(3274)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018