问答详情
源自:6-3 声明式事务管理方式三:基于注解的方式

accountMoney7、transMethod7都有事务,会回滚吗

@Transactional(propagation = Propagation.REQUIRED)
public void accountMoney7() {
    ordersDao.lessMoney();
    transMethod7();
    int x = 1 / 0;
}

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void transMethod7() {
    ordersDao.moreMoney();

}


提问者:yzy_java 2020-07-04 22:55

个回答

  • 周文春
    2021-03-31 21:09:53

    因为accountMoney7  已经开启事务,并且propagation = Propagation.REQUIRED, 按照事务的传播机制,执行 transMethod7  不会再开启新的事务,所以发生异常时  还是会回滚