1.object references an unsaved transient instance save the transient
instance before flushing
[2010-04-21]
產生此問題的原因:
映射關系錯誤. 當然在其他情況也可能出現這種錯誤.
比較常見的一種情況:所操作的對象中關聯著其他對象,而且關聯的對象id沒有賦值。
例:刪除一條記錄時(deleteObject),deleteObject中關聯著另一個對象(otherObject)。在刪除deleteObject對象時對其賦id,如果是單表操作應該對otherObject賦值null,消除該異常。
2.net.sf.hibernate.UnresolvableObjectException: No row with the given identifier exists:
[2010-04-27]
產生此問題的原因:
數據問題。例如查詢的對象中many-to-one關聯的對象數據庫中不存在,或關聯對象中本身所含的對象數據庫中已不存在。(一句話,就是數據問題)。產生原因很多,例如數據刪除沒有級聯,人為干擾都可能造成這個問題。
例:net.sf.hibernate.UnresolvableObjectException: No row with the given identifier exists: 146, of class: com.company.entity.BmZd
查詢中關聯到一個值為146的Bmzd對象,但數據庫Bmzd對應的表中已經不存在id為146的記錄了。