一个事务中的两个方法

时间:2016-07-12 04:35:53

标签: java spring transactional

我有一个DAO类,有以下两种方法:

@Transactional
public void save() throws Exception {

}

@Transactional
public void save2() {

}

在服务类中,我按如下方式调用这些方法:

public void processDAO() {
    dao.save();
    dao.save2();
}

我的问题是,这些方法是作为同一交易或独立交易的一部分运行还是不运行?

谢谢和最诚挚的问候,

2 个答案:

答案 0 :(得分:4)

如果processDAO()方法或此方法的类或调用堆栈中较高的方法/类也使用@Transactional注释,则它们将在同一事务中运行,否则将在两个不同的事务中运行交易。

答案 1 :(得分:4)

他们将在独立交易中运行 你可以参考Showing a Spring transaction in log进行检查。 如果你想在同一个交易中使用processDAO方法 你可以在processDAO方法上添加@Transactional