//支持当前事务,如果当前没有事务,就新建一个事务。Spring默认事务级别。
int PROPAGATION_REQUIRED = 0;
//支持当前事务,如果当前没有事务,就以非事务方式执行。
int PROPAGATION_SUPPORTS = 1;
//支持当前事务,如果当前没有事务,就抛出异常。
int PROPAGATION_MANDATORY = 2;
//新建事务,如果当前存在事务,把当前事务挂起。执行新事务后,再激活当前事务。
int PROPAGATION_REQUIRES_NEW = 3;
//以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
int PROPAGATION_NOT_SUPPORTED = 4;
//以非事务方式执行,如果当前存在事务,则抛出异常。
int PROPAGATION_NEVER = 5;
//如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。
//嵌套时由外部事务决定,子事务是否是commit还是rollback。
//一般在外部事务是使用try{}catch(嵌套事务方法){}进行编码。
int PROPAGATION_NESTED = 6;
案例分析1:
@Service
class A{
@Autowired
B b;
@Transactional(propagation = Propagat