从非事务方法调用的多个事务方法的传播级别

时间:2019-04-11 08:22:23

标签: java mysql spring transactions spring-transactions

我正在浏览本文https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/transaction.html#tx-propagation

我对于从非事务方法中调用多个@Transactional方法会发生什么感到怀疑。

ADao.java
@Transactional(readOnly=true)
public A getA()

@Transactional
public A insertA()

AService.java
public void getAndInsertA() {
    aDao.getA();
    aDao.insertA();
}

当我说这两个呼叫getA()insertA()将成为单独交易的一部分时,我的理解是否正确?

另一个问题,两个查询是否可能使用相同的数据库连接?

1 个答案:

答案 0 :(得分:0)

是的,您的查询不在同一事务中。如果需要,可以使用@Transactional注释服务。

也许。您有一个连接池,您实际上并不知道您的事务是否将使用相同的连接。但这不是很重要,是吗?