最近有个业务是for循环里面,循环一次业务提交一次,过程中发现事务不能提交,总结一下这个问题
第一点:
我用的是通用mapper,用到他的updateByPrimaryKeySelective方法,这个方法必须设置主键,不然他的where后面会带上所有字段造成sql错误
第二点:
用spring来做声明式事务的话,方法直接调用内部方法是不会走到代理类的,也就是不会走到切面,所以@Transactional可能会失效
所有我把更新业务单独提出来写在另外一个类里面就搞定了
时间:2020-04-25 21:17:42
最近有个业务是for循环里面,循环一次业务提交一次,过程中发现事务不能提交,总结一下这个问题
第一点:
我用的是通用mapper,用到他的updateByPrimaryKeySelective方法,这个方法必须设置主键,不然他的where后面会带上所有字段造成sql错误
第二点:
用spring来做声明式事务的话,方法直接调用内部方法是不会走到代理类的,也就是不会走到切面,所以@Transactional可能会失效
所有我把更新业务单独提出来写在另外一个类里面就搞定了