for循环中控制事务单个提交问题

最近有个业务是for循环里面,循环一次业务提交一次,过程中发现事务不能提交,总结一下这个问题

第一点:

我用的是通用mapper,用到他的updateByPrimaryKeySelective方法,这个方法必须设置主键,不然他的where后面会带上所有字段造成sql错误

第二点:

用spring来做声明式事务的话,方法直接调用内部方法是不会走到代理类的,也就是不会走到切面,所以@Transactional可能会失效

所有我把更新业务单独提出来写在另外一个类里面就搞定了

猜你喜欢

转载自blog.csdn.net/Java_Mrsun/article/details/85062675
今日推荐