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

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


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


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


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

阅读 851
评论
    2 个回答
    • 3.7k

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

      • 109

      删除,查询,插入

        撰写回答

        登录后参与交流、获取后续更新提醒