2017-02-15 68 views
0

我的Spring Boot JPA項目中有三個實體。內部加入彈簧引導jpa存儲庫

A_Ent


| A_field1 | A_field2 | A_field3 |


B_Ent


| B_field1 | B_field2 | B_field3 |


C_Ent


| C_field1 | C_field2 | C_field3 |


我想在一些存儲庫中使用innerjoins創建查詢。

FX:

SELECT A_field1, B_field2 C_field3 FROM A_Ent AE 
inner join B_Ent BE on (AE.field3 = BE.field3) 
inner join C_Ent CE on (AE.field2 = CE.field2) 
WHERE CE.field3 = 1 

如何添加特定的內部連接選擇我的春天啓動的JPA存儲庫(如果可能的話)?

+2

的可能的複製[如何定義JPA庫查詢與註冊](http://stackoverflow.com/questions/13154818/how-to-define-a-jpa-repository-query-with-a-join) – Strelok

+1

顯然JPQL加入了關係,所以沒有發佈實體及其關係,沒有什麼可以評論的 –

回答

-1

我認爲你需要使用你的JPQL查詢加入的舊式(我假設你已經通過非主/外鍵連接):

select AE.A_field1, BE.B_field2 CE.C_field3 
from A_Ent AE, B_Ent BE, C_Ent CE 
where (AE.field3 = BE.field3) 
    and (AE.field2 = CE.field2) 
    and CE.field3 = 1 

你要記住,這將是投影,所以你會得到一個Object[]List<Object[]>,這取決於你是否使用分別對查詢uniqueResult()list()方法