老實說,在提出這個問題之前,我不得不進行大量研究,但始終無法找到答案。在這里使用 Hibernate 6.1,互聯網上的大多數文章/教程都使用舊版本的 hibernate,大多數方法都沒有被棄用。即使使用saveOrUpdate方法對我來說效果很好。如果它被棄用,一定是有原因的。甚至最新版本的官方hibernate檔案也使用它。(如果我在正確的檔案中)。我在這里讀過另一個問題,他們說你甚至不需要使用saveor saveOrUpdate,因為休眠會自動重繪 對物件內的欄位所做的任何更新。但即使在更新物件中的值并手動重繪 /重繪 或提交事務之后,這種情況也不會發生。
協助將不勝感激,謝謝!
uj5u.com熱心網友回復:
僅僅瀏覽 Hibernate 的源代碼就會產生這個提交作為棄用這些方法的提交。提交是此 PR的一部分,其中提到了相應的問題。棄用這些問題的原因如下:
update() 和 saveOrUpdate() 操作本質上是 Hibernate 歷史早期的一次失敗實驗,在 JPA 規范中被 merge() 取代。我似乎很清楚,用戶使用 merge() 時遇到的問題比使用 update() 時要少得多,而且我認為我們可能早就應該棄用這些操作了。
save() 操作與 saveOrUpdate() 幾乎相同,只是它回傳一個 id。你可以像使用persist() 一樣使用它,但我認為persist() 是一個更好的名字。
您可以查看該問題以獲取有關該主題的更多討論。
我在這里閱讀了另一個問題,他們說您甚至不需要使用 save 或 saveOrUpdate,因為休眠會自動重繪 對物件內的欄位所做的任何更新。
我從未聽說過這種行為。您可能應該persist()使用save()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518149.html
標籤:爪哇休眠
