jav*_*999 11 java spring repository spring-data spring-data-jpa
我使用Spring data了我的项目,我使用的是标准的Repository那extends CRUD Repository.
我的代码按预期工作,但是当我调用repository.save()数据库时没有改变?
我是否还需要commit在此之后调用一个以便更改数据库?或者该repository.save()方法是否应自动更改数据库?
当您的应用程序运行时,与线程关联的Entity Manager保持对已修改或添加的对象的控制,save()方法正是这样做,这是一个标记,上面写着:“应将其保存在数据库中”。
当您保存内容时,数据库DML(插入,更新,删除)不会发送到数据库,它是在提交之前的最后完成的,它被延迟到最后一刻。
您可以随时使用实体管理器的flush()方法将DML发送到数据库,实际上您可以调试数据库日志并查看查询,但是对数据库的更改仅在您的数据库连接中可见直到发出提交;commit()是与实体管理器关联的事务处理方法。
在像play 1.4.x这样的框架中,提交是在正确解析和呈现响应视图之后发出的。
再见,汉斯
| 归档时间: |
|
| 查看次数: |
19949 次 |
| 最近记录: |