一般情況下,直接使用mysql語句寫關聯語句,是join on 的形式,如下:
select * from tablea as a left join tableb as b on b.tablea_id = a.id
但是使用jpql寫的時候就不能使用 join on 了,而是join where
select a from Tablea as a left join Tableb as b where b.tableaId = a.id
上面的那種寫法,是因為tableb表 中有一個外鍵,是tablea 表的id
還有一種寫法是在 實體中 對兩個實體進行了關聯映射 OneToMany、OneToOne,那么在進行關聯查詢的時候,就不需要寫weher 語句了
select a from Tableb as b left join b.tablea as a
原創文章,歡迎轉載,轉載請注明出處