我有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'
我有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'
只要实体之间不存在关联,您就无法在JPA中执行此操作。
解决方案:
FROM A a LEFT JOIN B b ON b.col1=a.col1
显然,自Hibernate 5.1以来,您现在可以这样做
使用以下查询,可以通过JPA实现:
FROM A as a, B as b WHERE b.col1=a.col1 OR b.col1 IS NULL