根據我對管理一致性序列化的理解,在保存/獲取流中的對象時,在類中保持一個序列化ID爲private static final long serialVersionUID = 3170588813843556321L;
。並且該ID將被保存在該文件/流中。hibernate如何在保存/從DB中獲取對象時管理序列化id
但是對於數據庫,我們並沒有將它保存在數據庫中,所以如何在反序列化過程中檢查一致性並拋出java.io.InvalidClassException
。
請糾正我,如果我錯了,在我的理解....
我不是在談論基本上在併發訪問/修改中使用的hibernate的鎖管理,這是關於'serialVersionUID',我們必須在每個DTO中使用Hibernate來維護它。 ............. 因此,如果hibernate不關心序列化,那麼爲什麼這是強制實施DTO的'java.io.Serializable'。 – Atul
DTO和休眠(JPA)類不必是相同的東西。 DTO通常被傳遞,有時被遠程發送,所以必須是可序列化的。 JPA實體只存儲到數據庫並從中讀回(當然,同一個類可以同時使用)。還有 - 它的_RECOMMENDED_你設置了一個顯式的串行UID。你不必。 – radai
太棒了!非常感謝 ... – Atul