hibernate3: object references an unsaved transient instance

object references an unsaved transient instance - save the transient instance before flushing: com.innov8tion.pml.project.domain.Project; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.innov8tion.pml.project.domain.Project is required.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

剛剛又出現了這個久違的BUG,這種類似的bug現在想來,都出現過好幾次了,所相同的是,我每次都在瞎搞一通,花費了N多時間後,還讓自己的心情搞壞,真是不應該。當然,自己心裏也是發毛,每次在出現這種錯誤的時候。

其實,我現在乃至要做的是,每次在處理問題前,都要先弄清楚問題的根源或發生問題的根源是什麼,先搞清楚這個,然後,再去想解決的辦法,不論是什麼問題。否則,只是費力不討好。

上面的問題,當遇到時,應該把提示至少看一遍,然後,思考是怎麼發生這個異常的。其實,我只要讀一遍,也需都不要怎麼思考,就會知道是因爲我在保存ProjectVersion時,沒有關聯到相應的Project,即在ProjectVersion中沒有Project對象的projectId值(projectId=0),所以,纔會出現這樣的錯誤。

而我每次在遇到這個問題時,首先被嚇到了,因爲是hibernate拋出的,在潛意識裏認爲自己對hibernate不熟。然後,我只讀了第一句,還沒讀完,我只讀了“object references an unsaved transient instance”,然後就開始找spring是怎樣管理hibernate的。整了半天,也沒有什麼頭緒,白白浪費了2個小時的時間。如果,克服這一點,我想我的效率又會有個進步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章