2017-06-16 118 views
0

這是這個問題的擴展Update Statement with JOIN in SQL,但我想使用Spring Data JPQL。如何在JPQL(Spring JPA查詢)中使用JOIN執行UPDATE語句?

我試圖沿着使用更新加入JPQL如下

@Modifying 
@Query("UPDATE TotalValue tv JOIN LineItems li WHERE li.totalValue.totalValueId=:totalValuedId SET tv.totalAmount =sum(li.itemTotalValue) ") 
void calculateTotalAmount(@Param("totalValuedId") Long totalValuedId); 

但是,我如下

org.hibernate.hql.internal.ast.QuerySyntaxException得到一個錯誤:期待「設置」,找到'JOIN'

UPDATE和JOIN在JPQL中不可能嗎?什麼是替代方案。謝謝

回答

3

JPQL syntax似乎表明JOIN實際上不可能在UPDATE語句中。

+0

非常感謝。我很懷疑。替代方案只是一個本地查詢嗎? – HopeKing

+0

通常可以在沒有顯式連接的情況下制定更新,只需要使用屬性導航,但我需要查看實體的相關部分。否則,是的,我認爲一個本地查詢將適用。 –

+0

感謝您的幫助。 – HopeKing