Supose我有一个包含Bars列表的对象Foo。 如果我在我的Criteria的Bar类上创建一个别名,我只会收到实际有Bars的项目。
criteria.createAlias("bars", "bars");
现在,如果我想要没有Bars的Foos,我将不得不用LEFT OUTER JOIN创建我的别名。
criteria.createAlias("bars", "bars", JoinType.LEFT_OUTER_JOIN);
现在,我的Foo班有很多孩子(有孩子,有孩子,......)。我现在必须LEFT_OUTER_JOIN全部或者是否有其他解决方案,以便我的列表完整而不是我的列表只包含有适当孩子的Foos?
答案 0 :(得分:0)
最后,我通过对每个孩子进行LEFT OUTER JOIN解决了这个问题。
criteria.createAlias("bars", "bars", JoinType.LEFT_OUTER_JOIN);