【发布时间】:2012-02-04 01:02:05
【问题描述】:
我有几个实体,想像这样进行连接:
SELECT g FROM Gift g
LEFT JOIN Worker w ON g.receiver = w.person
WHERE ....
AND w.company = :companyId
问题在于,作为 Person 的 g.receiver 和 w.person 之间没有直接联系。我也不想加入他们,因为接受礼物的人可能不是公司的员工。
【问题讨论】:
我有几个实体,想像这样进行连接:
SELECT g FROM Gift g
LEFT JOIN Worker w ON g.receiver = w.person
WHERE ....
AND w.company = :companyId
问题在于,作为 Person 的 g.receiver 和 w.person 之间没有直接联系。我也不想加入他们,因为接受礼物的人可能不是公司的员工。
【问题讨论】:
我遇到了同样的问题,但是我在 JPQL 中没有找到任何解决方案,看起来如果您没有映射关系,则无法执行左连接。
我用 2 个查询和一个由代码实现的连接解决了这个问题。
另一种解决方案是原生查询。
【讨论】: