开发者社区 问答 正文

mybatis 批处理? 400 报错

mybatis 批处理? 400 报错

mybatis 批处理的时候其中有一条记录出错,整个批处理不回滚,只回滚出错的

展开
收起
爱吃鱼的程序员 2020-06-03 15:06:33 620 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    开始和结束批处理放在事务中

    ######

    不会吧,你是在代码逻辑批处理,而且不在事务层吧

    ######

    怎么觉得要进行全部回滚的。。。

    ######

    批处理的数据量大,要是全不回滚成本太高

    ######

    在批处理的时候事务的传播属性设置成@Transactional(propagation=Propagation.REQUIRED)

    具体处理每一条sql的时候事务属性设置成@Transactional(propagation=Propagation.REQUIRES_NEW) 

    批处理中每一条SQL处理在挂起原有事务,开启一个新的事务(当这个事务完成(成功或者回滚)),这样做是不是就不影响批处理,只是回滚失败的

    2020-06-03 16:44:10
    赞同 展开评论
问答分类:
问答地址: