SpringDataJpa在同一个事务里删除和新增,并且字段设置了唯一约束的问题

在同一个service里,我需要先清空该表某些数据,然后再插入新的数据。
代码大概是,deleteAll后,执行saveAll


但是,我这个表,对某个字段设置了唯一约束,导致上面的正常逻辑完全无效,saveAll的时候依然会提示数据重复。


百度了很多文章,说要手动执行flush(),但是jpa根本没有这个方法,只有一个@Modifying(flushAutomatically = true)的注解。
但是根本没用。


无奈下只能删除表的这个约束,最后才可以。
不知道大佬们有没好的解决方案?

阅读 8.2k
2 个回答

可以分成两个事务做吗?分成两个事务就没有这个问题了

删除,查询,插入

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题