hibernate在saveOrUpdate时,update报错:a different object with the same identifier value was already assoc
生活随笔
收集整理的這篇文章主要介紹了
hibernate在saveOrUpdate时,update报错:a different object with the same identifier value was already assoc
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 原因:網上說是,在hibernate中同一個session里面有了兩個相同標識但是是不同實體。
2 我找出的解決方法是:
3 網上查找出還有其他解決方法,其中 getSession().merge(arg0) ;是最有效果的,但是我使用沒有解決。具體解釋如下,留作以后問題的解決方案:
解決方法一:session.clean()PS:如果在clean操作后面又進行了saveOrUpdate(object)等改變數據狀態的操作,有可能會報出"Found two representations of same collection"異常。解決方法二:session.refresh(object)PS:當object不是數據庫中已有數據的對象的時候,不能使用session.refresh(object)因為該方法是從hibernate的session中去重新取object,如果session中沒有這個對象,則會報錯所以當你使用saveOrUpdate(object)之前還需要判斷一下。解決方法三:session.merge(object)PS:Hibernate里面自帶的方法,推薦使用。 2、Found two representations of same collection錯誤原因:見1。解決方法:session.merge(object) 以上兩中異常經常出現在一對多映射和多對多映射中總結
以上是生活随笔為你收集整理的hibernate在saveOrUpdate时,update报错:a different object with the same identifier value was already assoc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度点击怎么赚钱(怎么用百度赚钱)
- 下一篇: 表单图片验证码 怎么处理(表单图片验证码