HQL与第二个表中的外键左连接

时间:2020-01-15 23:33:14

标签: sql oracle join left-join hql

我有两个表A和B。B有一个指向A.id的外键(假设它被称为ForeignId)。我正在尝试编写等效于以下内容的HQL:

    SELECT A.id
    FROM A a LEFT JOIN B b ON a.id = b.foreignId
    WHERE 1=1

如果我在指向表B的表A中有键,则写入HQL并不是问题,不幸的是,此案例提供了我在网上看到的所有示例。我无法编写选择B.foreignId的查询,因为主要用例之一是B可能为null。我需要提供的SQL的HQL。

更新

很遗憾,我的问题被以下Hibernate HQL Query with outer join标记为重复项。正如我所解释的,从A到B以及从B到A的指针是完全不同的情况。给定的链接仅在A具有指向B的指针的情况下才提供解决方案我的问题。它还在回答以下SQL / HQL查询: SQL:

SELECT b.foreignId
    FROM B b LEFT JOIN A a ON a.id = b.foreignId
    WHERE 1=1

HQL:

select b.foreignId from B b
    left join b.foreignId a

0 个答案:

没有答案