我是靠谱客的博主 陶醉唇膏,最近开发中收集的这篇文章主要介绍Spring Data Jpa中的save和saveAndFlush方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Spring Data Jpa中save和saveAndFlush的区别,首先直接看图:

save是CurdRepository接口下的方法

saveAndFlush是JpaRepository接口下的方法

一般情况下,我们仅仅使用save方法就可以满足业务需求。但是如果在同一个事务中,例如在方法上添加了@Transactional注解,我们想先保存Order(订单)数据,然后直接在这个事务中保存OrderItem(订单明细)数据,但是OrderItem需要前面所新建的Order里面的ID,这个时候保存Order就可以用saveAndFlush,订单实体中就会有保存在数据库里面的id了。

save 的具体的工作机制:

1.使用save方法的时候,如果数据库中没有这条数据,是根据主键进行插入一条数据的操作

2.使用save方法的时候,如果数据库中已经存在这条数据的时候,是进行更新操作

问题:为什么在使用save方法,如果是更新操作,有时会丢失之前原来数据行已经有的字段值ÿ

最后

以上就是陶醉唇膏为你收集整理的Spring Data Jpa中的save和saveAndFlush方法的全部内容,希望文章能够帮你解决Spring Data Jpa中的save和saveAndFlush方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部