我有一个DAO类,有以下两种方法:
@Transactional
public void save() throws Exception {
}
@Transactional
public void save2() {
}
在服务类中,我按如下方式调用这些方法:
public void processDAO() {
dao.save();
dao.save2();
}
我的问题是,这些方法是作为同一交易或独立交易的一部分运行还是不运行?
谢谢和最诚挚的问候,
答案 0 :(得分:4)
如果processDAO()方法或此方法的类或调用堆栈中较高的方法/类也使用@Transactional
注释,则它们将在同一事务中运行,否则将在两个不同的事务中运行交易。
答案 1 :(得分:4)
他们将在独立交易中运行 你可以参考Showing a Spring transaction in log进行检查。 如果你想在同一个交易中使用processDAO方法 你可以在processDAO方法上添加@Transactional