按照Hibernate文檔:休眠:使用的原始渴望標識屬性
我們建議您對持久化類聲明命名一致的標識屬性。您使用的是空(也就是說,不是原始類型)類型。
當GenerationType設置爲AUTO且標識屬性的類型爲long(原始)時,可能會出現哪個問題?
按照Hibernate文檔:休眠:使用的原始渴望標識屬性
我們建議您對持久化類聲明命名一致的標識屬性。您使用的是空(也就是說,不是原始類型)類型。
當GenerationType設置爲AUTO且標識屬性的類型爲long(原始)時,可能會出現哪個問題?
使用Long
對象即java.lang.Long
我覺得休眠可能與原始類型的問題,因爲有些時候它可能會嘗試將其設置爲null
。
當使用Hibernate的「查詢通過實例的能力爲ID的null
值可能試圖找到一個設置有不同的ID值的對象時是可取的,例如。在這種情況下,long id
,默認爲0
,可能與Long id
的值不同,值爲null
- 也許值0
是數據庫中的有效標識符?
在我的情況下,數據庫中沒有使用ID 0,所以我沒有遇到這種問題。 –
僅僅因爲'0'不被使用*並不意味着從Hibernate的角度來看它並沒有任何意義,假設'0'實際上是一個你正在嘗試檢索的對象的id值 - 事實並非如此在這種情況下,永遠不會返回任何對象。省去麻煩,用'Long':) – JimmyB
我知道可能有原始類型的問題。我的問題是可能是這些問題。 –
有時它可能會嘗試將其設置爲空。 – cowls
你知道這些場合是什麼嗎? –