2012-03-29 97 views
0

我們有4個表格,分離標準|包含集合的集合

One A to One B |一個B到多個C |一個C到多個D

全部配置爲雙向和惰性獲取。

我已經創建了基於'B'的分離標準。並且急切地渴望得到A,渴望C.

如你所知,C是一個集和d也是一組C.

我如何做到這一點?我嘗試將fetchmode設置爲EAGER。它沒有工作,我得到LazyInitializationException。

請幫忙。

謝謝。

+0

是否有任何命令需要遵循創建別名,添加限制,設置獲取模式?我們什麼時候需要創建別名? – 2012-03-29 21:23:52

回答

1

這會幫助你。

DetachedCriteria subCriteria = DetachedCriteria.forClass(A.class, "_A"); 

subCriteria.createAlias("_A.B", "_B"); 
subCriteria.createAlias("_B.C", "_C"); 
subCriteria.createAlias("_C.D", "_D"); 
subCriteria.add(Restrictions.eq("_D.id", 10)); 
subCriteria.setProjection(Projections.property("_D.id")); 

criteria = subCriteria.getExecutableCriteria(session); 

List list = criteria.list();