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

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


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


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


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

阅读 301
评论 2019-11-11 提问
    2 个回答
    _TNT_
    • 2.8k

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

    评论 赞赏 2019-11-11
      悟者
      • 109

      删除,查询,插入

      评论 赞赏 2019-11-11
        撰写回答

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