新聞中心
今天在項目里遇到這樣一個問題,使用Hibernate進(jìn)行修改操作saveOrUpdate()或者是update()時出了這樣一個錯誤,即Hibernate更新出錯。根據(jù)異常信息的字面意思,大致意思是說, 在一個session對象中同時存在著重復(fù)的相同標(biāo)識的卻是不同的對象。

順河網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),順河網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為順河上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的順河做網(wǎng)站的公司定做!
我遇到的情況是這樣的,客戶端進(jìn)行插入操作,這個時候所插入的這個對象緩存在session中,而用戶在插入后又對同一個對象,進(jìn)行修改操作,那么這個時候,同樣標(biāo)識的一個對象又發(fā)送到服務(wù)端,那么一個session中就存在了兩個標(biāo)識相同的對象,而對象中的內(nèi)容卻不一樣,所以Hibernate會報這個錯,同樣是Hibernate更新出錯。那么針對于這種Hibernate更新出錯,該如何解決呢?
應(yīng)該有許多種方法,這里我用了session.clear()在每次更新操作之前,先把session清空掉。代碼如下:
- public int saveOrUpdate(String classPath, Object obj) {
- try {
- getSession().saveOrUpdate(classPath, obj);
- //每次操作之后清空session
- getSession().flush();
- getSession().clear();
- } catch (RuntimeException re) {
- re.printStackTrace();
- }
- }
這只是對我所遇到的Hibernate更新出錯問題的解決辦法之一,如果哪里說的不正確希望大家批評指正,互相學(xué)習(xí)。
網(wǎng)頁題目:Hibernate更新出錯的解決
網(wǎng)址分享:http://www.dlmjj.cn/article/dpcsosp.html


咨詢
建站咨詢
