Spring JPA:Save() 方法应该将数据提交到数据库吗?
2022-09-03 02:55:44
我正在为我的项目使用,我正在使用一个标准.Spring data
Repository
extends CRUD Repository
我的代码按预期工作,但是当我调用数据库时没有更改吗?repository.save()
我是否还需要在此之后调用 a 才能更改数据库?还是应该自动更改数据库?commit
repository.save()
我正在为我的项目使用,我正在使用一个标准.Spring data
Repository
extends CRUD Repository
我的代码按预期工作,但是当我调用数据库时没有更改吗?repository.save()
我是否还需要在此之后调用 a 才能更改数据库?还是应该自动更改数据库?commit
repository.save()
当您的应用程序运行时,与线程关联的实体管理器保持对已修改或添加对象的控制,save()方法只是这样做,这是一个标记,上面写着:“这应该保存在数据库中”。
数据库DML(插入,更新,删除)不会在您保存内容时发送到数据库,而是在提交之前完成,它被延迟到最后一刻。
可以使用实体管理器的 flush() 方法随时将 DML 发送到数据库,实际上您可以调试数据库日志并查看查询是否经过,但是对数据库的这种更改仅在数据库连接中可见,直到发出提交为止;commit() 是与实体管理器关联的事务的一种方法。
在某些框架(如 play 1.4.x)中,在正确解析和呈现响应视图后,将发出提交。