我得到一個util.List
實例。每個實例都有另一個集合。我想初始化集合的所有實例。這是如何做到的。如何初始化休眠中的集合集合
Hibernate.initialize(parentList);
但會議結束時。可以檢索parentList的對象的屬性。但是它的集合的實例屬性不能被檢索。我初始化的方式是錯誤的還是有其他問題?或者如何初始化所有實例。
我得到一個util.List
實例。每個實例都有另一個集合。我想初始化集合的所有實例。這是如何做到的。如何初始化休眠中的集合集合
Hibernate.initialize(parentList);
但會議結束時。可以檢索parentList的對象的屬性。但是它的集合的實例屬性不能被檢索。我初始化的方式是錯誤的還是有其他問題?或者如何初始化所有實例。
Hibernate.initialize(parentList);
只會初始化列表中的對象而不是列表中的對象。
從文檔:
注意:這只是確保代理對象或集合的intialization; 不能保證INSIDE集合中的元素將被初始化/實現化爲 。
編輯:根據註釋
說,如果我有一個Student
實體和每一個學生實體Course
實體的名單。那麼學生名單可以初始化這樣的:
for (Student student : studentList) {
Hibernate.initialize(student.getCourses());
}
乾淨的工作方式,是使用延遲加載,以保持和使用價值對象設計模式將數據從持久化對象轉移到值對象,反之亦然。
謝謝。那麼有沒有辦法來初始化它們? –
**注意: - **直接代理只能初始化。如果需要代理的代理,則必須像上面提到的那樣再次調用「initialize()」。謝謝 –
你可以檢查嗎? http://stackoverflow.com/questions/40392996/does-hibernate-initialize-requires-a-time-delay我的問題是,如果我添加調試點,並等待幾秒鐘,只有我得到我的列表。否則它不工作 – Ratha