如果我有兩個實體ENTITY1和ENTITY2其兩側映射(或者至少ENTITY2在ENTITY1映射),我可以做JPQL ENTITY1加入ENTITY2其中ENTITY1在ENTITY2映射而不是其他方式輪
select e1 from Entity1 e1
left join e1.entity2 e2
where e2.id is null
如果我沒有e1.entity2
,但只有Entity2.entity1
,是否有相當於這個?
如果我有兩個實體ENTITY1和ENTITY2其兩側映射(或者至少ENTITY2在ENTITY1映射),我可以做JPQL ENTITY1加入ENTITY2其中ENTITY1在ENTITY2映射而不是其他方式輪
select e1 from Entity1 e1
left join e1.entity2 e2
where e2.id is null
如果我沒有e1.entity2
,但只有Entity2.entity1
,是否有相當於這個?
我會親自換另一種方式換桌子。有一個使用RIGHT JOIN
的選項,但是如果我在代碼審查過程中看到RIGHT JOIN
,我會失敗任何代碼;
SELECT *
FROM Entity2 e2
LEFT JOIN Entity1 e1
ON e2.IdField = e1.IdField
WHERE e1.IdField IS NULL
而且,你似乎缺少您的加入標準,這是最好的聲明這些
關於你的代碼片段:我需要Entity1的結果,而不是Entity2,如果我查詢那些使用剪切的結果,我總是會得到零結果,對嗎? –
@JacobS這與您發佈的原始代碼段相反嗎?嘗試將包含ON語句的行添加到原始查詢中,看看你是否得到了你想要的。 –
你的意思是 「選擇E1 FROM ENTITY2 E2 JOIN e2.entity1 E1 WHERE ...」 –