1. 程式人生 > >【hibernate】org.hibernate.ObjectNotFoundException: No row with the given identifier exists:

【hibernate】org.hibernate.ObjectNotFoundException: No row with the given identifier exists:

錯誤提示

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [cn.bss.model.FlCanteenbuild#353B107CC0A80C120000000007AE2D22];

原因

查資料庫發現,flUnit表引用了flCanteenbuild表的Id。

flUnit中存在一條記錄,引用的flCanteenbuildId為'353B107CC0A80C120000000007AE2D22'。

而flCanteenbuild表中沒有id為'353B107CC0A80C120000000007AE2D22'的記錄。

解決方法很簡單,把資料庫記錄改正確即可。

困惑

但是困惑的是,參照下圖:

1、標示1處,FlCanteenbuild_$$_javassist_16顯示是一個物件,不為null。

2、標示2處,報錯行為396行。

3、標示3處,獲取buildtype欄位時,報錯。

4、標示4處,獲取Id欄位時,不報錯。

不明白為什麼獲取id不報錯,而獲取buildtype報錯。

錯誤如下: