当链接对象的FK可以为空时,按链接对象属性排序?

时间:2012-03-14 17:06:03

标签: java hibernate

我有一个表链接到另一个带有外键字段的表,字段本身可以为空。这意味着第一个表中的行可能会或可能不会在另一个表中具有相应的行。

为简单起见,我们将第一个表Foo和第二个Bar命名为。

现在,当我从Foo查询行并尝试按照Bar中的字段对它们进行排序时,这样:

FROM Foo ORDER BY Bar.name

结果仅显示来自Foo的这些值,其中字段bar_id不为空。还有Foo中包含Bar中没有相应行的这些行的最佳方法是什么。

目前我有一个庞大而草率的方法,它从filterMap和sortMap获取值并将它们附加到StringBuffer,从而产生HQL查询。

我听说过有关Criteria API的内容,但不知道它是否可以帮助我度过这种情况。

1 个答案:

答案 0 :(得分:1)

您只需要进行左连接而不是内连接:

select foo from Foo foo left join foo.bar bar order by bar.name