2
我使用Hibernate选择一个数字(x)的实体Foo。每个foo都有一对多的集合条和baz,它们被设置为延迟获取。我需要为每个foo填充bar和baz,所以我绝对不希望每个集合都发布一个子查询(2 * x + 1个选择)。使用两个一对多集合来查询一个hibernate实体
但是,我也不一定要setFetchMode(FetchMode.JOIN),因为这将返回笛卡尔积(bar x baz)。另外,如果我将foo和bar定义为列表,我将收到重复的项目。我可以发布两个条件:
List<Foo> foos;
foo = session.createCriteria(Foo.class).setFetchMode("bar", FetchMode.JOIN).list();
foo = session.createCriteria(Foo.class).setFetchMode("baz", FetchMode.JOIN).list();
但代码看起来相当sl。。它看起来像第一个查询是不必要的。有没有更好的方法来获取酒吧和巴兹?
什么是富有其他成员(非集合),我想?你会单独选择它们吗? – schmmd 2011-02-11 19:30:02