2017-06-14 72 views
0

我有以下在MySQL中完美運行的查詢,但是當我在存儲庫中編寫時會出現錯誤如何在JPARepository中編寫內部連接查詢?如何在JPARepository中編寫內部連接查詢

@Query("Select address from Address a inner join Order o ON a.id=o.pickup_address_id where o.customer_id=: customerId AND a.address LIKE 'C%'") 
    Set<Address> findPickupAddress(@Param("customerId") Long customerId); 

錯誤:意外的標記:鄰近線1階,柱66

回答

0

order是一個保留字。如果不能重命名錶,你應該使用它想:

@Query("Select address from Address a inner join `Order` o ON ...") 
+0

檢查我的回答是:') – SFAH

+0

中的查詢你的問題是一個本地的SQL查詢,而不是一個jpql! –

0

有一個在JPQL沒有ON所以查詢作爲更新:

@Query("Select a from Address a , Order o where a.id=o.pickupAddress AND o.customer.id=:customerId AND a.address LIKE 'C%'") 
    Address findPickupAddress(@Param("customerId") Long customerId); 
} 
+0

這會生成一個外部連接而不是內部連接! –