SpringDataJpa在同一个事务里删除和新增,并且字段设置了唯一约束的问题
在同一个service
里,我需要先清空该表某些数据,然后再插入新的数据。
代码大概是,deleteAll
后,执行saveAll
。
但是,我这个表,对某个字段设置了唯一约束,导致上面的正常逻辑完全无效,saveAll
的时候依然会提示数据重复。
百度了很多文章,说要手动执行flush()
,但是jpa
根本没有这个方法,只有一个@Modifying(flushAutomatically = true)
的注解。
但是根本没用。
无奈下只能删除表的这个约束,最后才可以。
不知道大佬们有没好的解决方案?
可以分成两个事务做吗?分成两个事务就没有这个问题了