簡體   English   中英

我的Native查詢和JPQL(JPA)的結果差異

[英]Difference in result of my Native query and JPQL(JPA)

我的原生查詢是(這是工作):

Update XXX SET preDeck=deck, deck=deck+1 WHERE ...

原生查詢的結果是:deck = 1和preDeck = 0(這是我想要的)

但在JPQL中它不會發生:

UPDATE XXX SET preDeck=deck, deck=deck+1 WHERE ...

結果是:deck = 1和predeck = 1

解決辦法是什么?

RGDS

有趣的問題。 為JPQL查詢生成的SQL是什么? 你使用哪種JPA引擎?

無論如何,解決方案是在使用JPA時避免更新查詢,尤其是在要更新的實體數量很少的情況下。 查詢實體,更新其狀態,讓JPA為您刷新更改。

如果必須更新大量實體,您仍然可以使用本機查詢而不是JPQL查詢。 或者您可以使用兩個查詢:一個設置preDeck,另一個設置deck到preDeck + 1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM