Welcome 微信登录

首页 / 数据库 / MySQL / Hibernate批量更新数据问题

今天在做一个项目中遇到一个问题,描述如下:需要对一批满足条件的数据进行批量操作,如果符合条件,则批量更新,不符合条件则不提交,但是每次在不满足条件的情况下都会进行数据更新,查询相关资料发现。hibernate在关闭session时候会对内存中的持久化对象进行检查操作,也就是说 如果内存中的持久化对象跟数据量中的对象内容不一致时,hibernate不管你是否update都会进行更新操作。解决方法如下有两个1、对这批数据的PO类进行深度克隆(自己尚未验证,网上说可行)2、每次查询出一条数据之后调用getSession().evict(obj);进行状态更改,由持久态-->游离态,这样在关闭时候 如果显式调用hibernate的话进行状态更新,否则不会进行进行数据库更新总结:这个例子虽然很简单,但是对于理解hibernate的工作原理是很个很典型的例子,记录下方便以后查阅。Oracle数据库Process OS id : 799228 alive after killAIX6下安装DB2 9相关资讯      hibernate 
  • Hibernate利用@DynamicInsert和@  (今 07:09)
  • Hibernate某些版本(4.3)下报错   (04月20日)
  • Hibernate 5.1.0 正式版发布下载  (02月12日)
  • Hibernate的get和load的区别  (08月07日)
  • Hibernate3.1.2_中文文档PDF  (02月17日)
  • Hibernate ORM 5.0.6 发布下载  (12/17/2015 17:12:55)
本文评论 查看全部评论 (0)
表情: 姓名: 字数