解决object references an unsaved transient instance - save the transient instance before flushing 的错误
生活随笔
收集整理的這篇文章主要介紹了
解决object references an unsaved transient instance - save the transient instance before flushing 的错误
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
異常信息:
Caused by: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing :
錯誤原因:
這個異常是在ManyToOne級聯(lián)操作時遇到,要保存的對象引用了一個未保存的對象,比如我們試圖存儲一個瞬時狀態(tài)的對象。也就是說,A和B有關(guān)聯(lián)的話,其中A引用B。如果我們要持久化A對象的話,應(yīng)該先將其關(guān)聯(lián)的B對象先持久化才可以,否則就會出現(xiàn)這個異常。
解決方法:
解決辦法是將ManyToOne的級聯(lián)設(shè)為:cascade = CascadeType.PERSIST
?延伸:
- PERSIST:持久保存擁有方實(shí)體時,也會持久保存該實(shí)體的所有相關(guān)數(shù)據(jù)。
- MERGE:將分離的實(shí)體重新合并到活動的持久性上下文時,也會合并該實(shí)體的所有相關(guān)數(shù)據(jù)。
- REMOVE:刪除一個實(shí)體時,也會刪除該實(shí)體的所有相關(guān)數(shù)據(jù)。
- ALL:以上都適用。
總結(jié)
以上是生活随笔為你收集整理的解决object references an unsaved transient instance - save the transient instance before flushing 的错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: piranha启动报错
- 下一篇: 2022图像翻译/扩散模型:UNIT-D