簡體   English   中英

Spring JPA:Save() 方法是否應該將數據提交到數據庫?

[英]Spring JPA: Should the Save() method commit data to the database?

我正在為我的項目使用Spring data ,我使用的是extends CRUD Repository的標准Repository extends CRUD Repository

我的代碼按預期工作,但是當我調用repository.save() ,數據庫沒有改變?

我是否還需要在此之后調用commit以更改數據庫? 或者repository.save()方法是否應該自動更改數據庫?

當您的應用程序運行時,與線程關聯的實體管理器保持對修改或添加對象的控制,save() 方法只是這樣做,它是一個標記,表示:“這應該保存在數據庫中”。

數據庫 DML(插入、更新、刪除)不會在您保存內容時發送到數據庫,它會在最后提交之前完成,它會延遲到最后一刻。

可以隨時使用實體管理器的 flush() 方法將 DML 發送到數據庫,實際上您可以調試數據庫日志並查看查詢的過程,但是對數據庫的這種更改僅在您的數據庫連接中可見直到提交提交; commit() 是與實體管理器關聯的事務的方法。

在像 play 1.4.x 這樣的一些框架中,提交是在響應視圖被正確解析和呈現后發出的。

暫無
暫無

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

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