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



我正在阅读这篇文章 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()的调用都是单独交易的一部分时,我的理解是否正确?

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

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

也许吧。你有一个连接池,你真的不知道你的事务是否会使用相同的连接。但这并不重要,是吗?

最新更新