伪代码如下
// 开多线程的方法
@LcnTransaction
public Boolean test1() {
excutorService.submit(new TestTask(entity))
}
// 线程类
public class TestTask implements Runnable{
private Entity entity;
@Override
public void run() {
TestMapper testMapper = BeanContextUtils.getBean(TestMapper.class);
testMapper.insert(this.entity);
}
}
此种使用方式,子线程中insert的时候日志显示插入成功,返回值为1;但是数据库中找不到插入的数据。所以推测是回滚了。数据库用的oracle;
此种回滚不是必然现象。有的时候会插入成功可以在数据库中查得到