hibernate中保存一个对象后再设置此对象的属性为什么不需要调用update方法了

例如
session.save(user);
user.setAge(20); 原因:
hibernate对象的三种状态。
瞬时态(没有id,不与session关联)
持久态(有id,与session关联)
托管态(有id,不与session关联) User user = new User();//新建的对象是瞬时态 session.save(user);//save后,user变成持久态 user.setAge(20);//对持久态的改变,会在session提交时自动更新数据库 session.close();//session关闭后,user变成托管态 user.setAge(19);//这时改变其属性,将不会自动更新数据库 session.update(user);//更新托管态对象到数据库,并且将其重新变为持久态。 最后:
session.get()
session.load()
session.createCriteria().list()
查询出来的都是持久态。 save以后user就在session中了,hibernate有个自动提交功能(auto commit),session结束时可以自动将session里修改过的内容提交到数据库,所以,就是这个现象。

最新文章

  1. 【翻译】Express web应用开发 第一章
  2. jQUery 1.9中被删除的API
  3. mysql 关联条件与查询(过滤)条件
  4. CSS兼容问题大全
  5. Java-Swing嵌入浏览器(二)
  6. Struts面试笔记
  7. Oracle错误问题---- 《ora-12638:身份证明检索失败》
  8. web.py安装
  9. maven/eclipse搭建ssm(spring+spring mvc+mybatis)
  10. 【前端】:Dom
  11. (转)Windows下tail命令工具(转)
  12. [js高手之路]深入浅出webpack系列1-安装与基本打包用法和命令参数
  13. 《用Java写一个通用的服务器程序》02 监听器
  14. JMeter入门(03)多台JMeter联合测试
  15. DDD关键知识点整理汇总
  16. BeyondCompare使用一段时间后会因“许可证密钥已被撤销:3281-0350“而无法使用
  17. FF中flash滚轮失效的解决方案
  18. OutOfMemoryError 到底能不能被捕获?
  19. day09--函数的定义分类以及其使用(1)
  20. BZOJ1150 [CTSC2007]数据备份Backup 贪心 堆

热门文章

  1. .net core 安装失败 的问题彻底解决
  2. SQL Server合并版本
  3. MES开发学习一
  4. Ubuntu:我不小心把/var/lock文件夹给删了
  5. 关于c#静态构造函数
  6. eclipse项目自动发布到tomcat目录,缺文件。
  7. 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib
  8. Eclipse里面的一些常规设置
  9. jQuery Mobile 中创建按钮
  10. svn的安装配置