org.hibernate.PersistentObjectException: detached entity passed to persist
生活随笔
收集整理的這篇文章主要介紹了
org.hibernate.PersistentObjectException: detached entity passed to persist
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡單地來看,將一個游離的對象要被持久化(save)時報錯。?
我們知道要持久化對象時候,通常Hibernate會根據(jù)ID生成策略自動生成ID值,但是這個對象ID已經(jīng)有值,所有拋錯。這個錯誤會出現(xiàn)在配置如下一對多@OneToMany的關聯(lián)關系等出現(xiàn)。
因為級聯(lián)關系是CascadeType.ALL,所以save時會保存級聯(lián)的對象Role,但是Role已經(jīng)存在,因此就報錯了。將cascade改為CascadeType.MERGE或者CascadeType.REFRESH即可,表示級聯(lián)對象在Role表存在則進行update操作,而不做save操作。級聯(lián)操作時謹慎用CascadeType.ALL
改為:
@OneToMany(cascade = CascadeType.REFRESH, fetch = FetchType.LAZY, mappedBy = "assignedDept")?
轉載于:https://www.cnblogs.com/nelson-hu/p/7485319.html
總結
以上是生活随笔為你收集整理的org.hibernate.PersistentObjectException: detached entity passed to persist的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 连续子数组最大和
- 下一篇: Redis 集合(Set)