Spring 事务回滚问题。使用NESTED或REQUIRES_NEW外层的事务也回滚了
我用的是注解事务,具体问题如下:
@Transactional(propagation=Propagation.REQUIRED)
public void A(){
B();
C(); //如果执行失败,要求C回滚,B不回滚
}
@Transactional(propagation=Propagation.MANDATORY)
public void B(){
数据库操作1;
数据库操作2;
}
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void C(){
数据库操作1;
数据库操作2;
}
为什么C执行失败,会同时将B回滚了?不解?C方法换成NESTED也不好用