2
在我們的應用程序中,我們有雙重持久性。首先,實體可以在MySQL數據庫中在線保存(我們使用的是Hibernate),其次,實體可以通過序列化保存在本地。休眠和序列化
我所說的實體是包含KnowledgeBase
對象的類User
的對象和KnowledgeBase
包含實體(List<Card>
和List<Deck>
)的兩個列表。
這兩種持久性都可以單獨工作,但是當我試圖從數據庫中加載序列化的User
對象(即至少一次(實際上是兩次)低谷的Hibernate)時會出現問題。
我注意到ArrayList
裏面的KnowledgeBase
被PersistentBag
所取代。這可能是我的問題的根源嗎?
另一個猜測可能是懶加載導致這些麻煩......有沒有辦法讓Hibernate在某個時刻完全加載對象? (除了急於加載...)
這的確是初始化對象和集合,但它一直在Hibernate專有的集合類型。我們遇到了使用XStream編組/解組裝Hibernate加載對象的問題。有沒有更好的方法,而不僅僅是重載一個Hibernate加載的對象到同一類型的正常實例化的對象? – Olaf
@Olaf是的,請在一分鐘內查看我的更新 – Bozho
謝謝!我下次必須使用這個,我必須使用XStream將Hibernate加載的實體編組爲XML。 – Olaf