我有三個表,休眠懶惰使用用來初始化或急切裝載
users
user_associations
association_type.
支持通過users_associations表關聯到彼此,然後將關聯被賦予一個類型如PARENT,或朋友,等等。
當我打電話給我的視圖時,我有用於表示用戶相互關聯的表數據。在每個列表中,與當前用戶數據,關聯用戶數據和關聯類型列表有關係。
我正在使用Hibernate,並且我在EAGER獲取數據和LAZY加載它之間感到困惑。當我打電話給我的DAO它看起來像這樣
List<UsersAssoc> assoc = (List<UsersAssoc>)session.getNamedQuery("UsersAssoc.getAssoc").setInteger("id", id).list();
偷懶負荷工作,我要叫上狀態,Hibernate.initialize所有子對象的
for(UserAssoc a : assoc) {
Hibernate.initialize(a.getUser());
Hibernate.initialize(a.getAssocTypes());
Hibernate.initialize(a.getAssociatedUser());
}
我要指所有的數據在我看來,我試圖做到這一點,而不是將它全部存儲在內存中。哪個選項最好?急切地加載它或在Hibernate中初始化每個類型。這可能不是正確的做法。我需要一些方向。謝謝
因此,在我的情況下調用Hibernate.initialize的一切都做同樣的事情,只是EAGERLY加載它? @hvgotcodes – JohnnyQuestIsASellOut 2011-02-01 21:34:34