save the transient instance before flushing錯誤解決辦法 【待完善】


近日在項目中遇到以下錯誤,着實郁悶了一把:

    org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing:com.dhcc.itsm.base.model.User。

這主要是在ManyToOne時遇到的,百度之,發現原因如下:

    new了一個新對象,在未保存之前將它保存進了一個新new的對象(也即不是持久態)。

解決辦法是在保存或更新之前把這個對象查出來(這樣就是一個持久態)。

但是后來發現同一個model里面有好幾個ManyToOne,而且其標注都是:@ManyToOne(fetch=FetchType.LAZY,optional=true) 但是其中一個必須要先查,而其他的就不需要。這個問題先留這里,回頭查找原因再補上。

帖子地址:http://topic.csdn.net/u/20081218/12/e74bac38-adfe-4630-aca0-700aa13a5d98.html?482827828


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM