瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。

瞬时态:没有持久化标示符,数据库中无对应记录。当执行save和persist方法可以变成持久态。

持久态:处于该状态的对象在数据库中具有对应的记录,并拥有一个持久化标识。如果是用hibernate的delete()方法,对应的持久对象就变成瞬时对象,因数据库中的对应数据已被删除,该对象不再与数据库的记录关联。当一个session执行close()或clear()、evict()之后,持久对象变成脱管对象,此时持久对象会变成脱管对象,此时该对象虽然具有数据库识别值,但它已不在HIbernate持久层的管理之下。
持久对象具有如下特点:
1. 和session实例关联;
2. 在数据库中有与之关联的记录。

脱管态:当与某持久对象关联的session被关闭后,该持久对象转变为脱管对象。当脱管对象被重新关联到session上时,并再次转变成持久对象。
脱管对象拥有数据库的识别值,可通过update()、saveOrUpdate()等方法,转变成持久对象。
脱管对象具有如下特点:
1. 本质上与瞬时对象相同,在没有任何变量引用它时,JVM会在适当的时候将它回收;
2. 比瞬时对象多了一个数据库记录标识值。

最新文章

  1. [技巧] 解决Win7下VMware中vmx86.sys报错的问题
  2. 如何查看JSP和Servlet版本
  3. 锱铢必较,从(function(){}())与(function(){})()说起
  4. 对linux高级用户有用的20个命令
  5. cookie值的设置,获取及删除
  6. POJ1422Air Raid(二分图,最小不相交路径覆盖)
  7. (OK) Linux epoll模型—socket epoll server client chat
  8. bootstrap-table+x-editable入门
  9. ArrayDataProvider数据分页
  10. IDEA通过Git同步代码到Coding
  11. Android 去除应用标题栏(Android Studio)
  12. 重新认识 Delphi
  13. 设置本地虚拟域名windows+apache
  14. HDU-2680 Choose the best route 单向边+反向dijkstra
  15. asp.net使用SpeechSynthesizer类生成语音文件部署到iis遇到的几个坑
  16. HDF5 文件格式简介
  17. 微信小程序学习笔记(四)
  18. Python模块学习 - openpyxl
  19. RTSP - RTP over TCP
  20. Python3 集合(无序的set)

热门文章

  1. JVM学习——G1垃圾回收器(学习过程)
  2. 每日一题:codeforces题解
  3. yaml语法及格式校验
  4. StackExchange.Redis 实现SetNx
  5. 使用Oracle的PROFILE对用户资源限制和密码限制
  6. rlwrap的使用
  7. $_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME"] 和$_SERVER["PHP_SELF"]
  8. node-java的使用及源码分析
  9. MySQL:输入密码后闪退的解决方法
  10. JS报错:Uncaught TypeError: Cannot set property ‘nTf‘ of undefined