[英]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.