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