spring事务问题

Scroll Down

事务的传递

场景一

在同一个类中,有A、B两个类,B被A调用。B有@Transational注解,A没有@Transactional注解。此时,调用A时,事务不生效。直接调用B,事务生效。

public void A(){
    B();
}

@Transactional
public void B(){

}

场景二

在同一个类中,有A、B两个类,B被A调用。A、B都有@Transational注解。此时,调用A时或直接调用B,事务都生效。

@Transactional
public void A(){
    B();
}

@Transactional
public void B(){

}

场景三

在同一个类中,有A、B两个类,B被A调用。A有@Transational注解,B没有。此时,调用A时事务生效,直接调用B时事务不生效。

@Transactional
public void A(){
    B();
}

public void B(){

}