2016-12-07 37 views
0

如果我有兩個實體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,是否有相當於這個?

+0

你的意思是 「選擇E1 FROM ENTITY2 E2 JOIN e2.entity1 E1 WHERE ...」 –

回答

0

我會親自換另一種方式換桌子。有一個使用RIGHT JOIN的選項,但是如果我在代碼審查過程中看到RIGHT JOIN,我會失敗任何代碼;

SELECT * 
FROM Entity2 e2 
LEFT JOIN Entity1 e1 
    ON e2.IdField = e1.IdField 
WHERE e1.IdField IS NULL 

而且,你似乎缺少您的加入標準,這是最好的聲明這些

+0

關於你的代碼片段:我需要Entity1的結果,而不是Entity2,如果我查詢那些使用剪切的結果,我總是會得到零結果,對嗎? –

+0

@JacobS這與您發佈的原始代碼段相反嗎?嘗試將包含ON語句的行添加到原始查詢中,看看你是否得到了你想要的。 –

相關問題