我正在阅读这篇文章 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批注您的服务。
也许吧。你有一个连接池,你真的不知道你的事务是否会使用相同的连接。但这并不重要,是吗?