分离标准|包含Collection的集合

时间:2012-03-29 20:13:04

标签: hibernate spring-mvc hql

我们有4个表,

一对一B |一个B到多个C |一个C到多个D

所有都配置了双向和懒人提取。

我已根据'B'创建了分离标准。并且急切地想要急切地,急切地,C.D急切地接受A。

如您所知,C是Set,D也是C中的Set。

我该怎么做?我尝试将fetchmode设置为EAGER。它没有用,我得到了LazyInitializationException。

请帮忙。

感谢。

1 个答案:

答案 0 :(得分: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();