servicea
@Transactional
a1{
a3();
}
@Transactional(可加可不加)
a3{
}
a3的提交需要等到整个方法结束可以提交
a2{
a4();
}
@Transactional
a4{
}
事务失效,数据操作直接入库
@Transactional
a5{
a6();
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
a6{
}
事务生效,执行到a6,a6不开启新事务,a7的事务不挂起(事务切面针对的是代理的对象,事务的开启和提交针对的是切面,类内部方法不会开启新事务)
@Transactional
a7(){
b1();
}
事务生效,执行到b1,a7的事务挂起,b1新开启事务,两个方法的事务完全独立
a8(){
b2();
}
事务生效
a9{
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
a10{
}
事务不生效
serviceb
@Transactional(propagation = Propagation.REQUIRES_NEW)
b1{
}
@Transactional
b2{
}