首頁 > 資料庫 > mysql教程 > Hibernate批量更新数据问题

Hibernate批量更新数据问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 17:17:18
原創
1431 人瀏覽過

这个例子虽然很简单,但是对于理解hibernate的工作原理是很个很典型的例子,记录下方便以后查阅。需要对一批满足条件的数据进行批

今天在做一个项目中遇到一个问题,描述如下:

需要对一批满足条件的数据进行批量操作,如果符合条件,则批量更新,不符合条件则不提交,但是每次在不满足条件的情况下都会进行数据更新,,查询相关资料发现。hibernate在关闭session时候会对内存中的持久化对象进行检查操作,也就是说 如果内存中的持久化对象跟数据量中的对象内容不一致时,hibernate不管你是否update都会进行更新操作。

解决方法如下有两个

1、对这批数据的PO类进行深度克隆(自己尚未验证,网上说可行)

2、每次查询出一条数据之后调用getSession().evict(obj);进行状态更改,由持久态-->游离态,这样在关闭时候 如果显式调用hibernate的话进行状态更新,否则不会进行进行数据库更新

总结:这个例子虽然很简单,但是对于理解hibernate的工作原理是很个很典型的例子,记录下方便以后查阅。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板