Spring Java中Save和SaveAndFlush之间的区别

Save和saveAndFlush均可用于保存实体。它们都属于Spring数据库。保存可能会或可能不会立即将您的更改写入数据库。当我们调用saveAndFlush时,系统将强制您的模型状态与数据库进行同步。

序号保存并刷新
1
资料库
它属于CrudRepository
它属于JPARepository
2
数据刷新策略
除非并且除非我们显式调用flush和commit方法,否则它不会直接将数据刷新到数据库。
刷新直接将数据刷新到数据库。
3
批量保存
CrudRepository提供批量保存方法
saveAndFlush方法不支持批量操作
 4
保存后的数据可见性
它不会直接将数据刷新到数据库,因此,除非我们显式调用commit()此事务,否则更改在事务外部将不可见。
更改也将在事务外部可见。
5
用例
当我们以后不需要在同一事务中使用保存的更改时,可以使用此方法。
当以后需要在同一事务中使用保存的更改时,可以使用此方法。