繁体   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