我有 2个表 / 无关联的实体。 我可以在JPA中使用 交叉连接
FROM A as a, B as b WHERE b.col1=a.col1
如何执行左连接?
我想要A中的所有值,并在可能的情况下用B值填充它们,并在没有B的地方留下NULL。
不起作用:
FROM A as a LEFT JOIN B as b WHERE b.col1=a.col1
加入的预期路径!
路径无效:'b.col1'
答案 0 :(得分:5)
只要实体之间没有关系,就不能在JPA中这样做。
解决方案:
答案 1 :(得分:0)
关于Dimitri Dewaele的答案,此查询是一个CARTESIAN JOIN。 CARTESIAN JOIN或CROSS JOIN从两个或多个联接表中返回记录集的笛卡尔积。因此,它等同于内部联接,其中联接条件始终评估为True或语句中不存在联接条件。如果您想了解更多信息,请点击以下链接: Sql Cartesian Joins
答案 2 :(得分:-4)
JPA可以使用以下查询:
FROM A as a, B as b WHERE b.col1=a.col1 OR b.col1 IS NULL