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

标签 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() 将是单独事务的一部分时,我的理解是否正确?

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

最佳答案

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

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

关于java - 从非事务方法调用的多个事务方法的传播级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55627869/

相关文章:

php - 查询问题 - 尝试对讨论中的评论进行分组

php - RedBeanPHP findAll 只返回最后一项

java - JPA多对多关系中间表不更新

java - 从 Android JAR 访问全局变量

java - 减去毫秒不会给出预期的结果

java - 我尝试编写自己的 makefile,但它不起作用

java.security.NoSuchAlgorithmException :cannot find any provider supporting AES

mysql - 将 Piwik 移至另一个主机,数据库错误 #1044

java - Spring MVC 无法映射 URL

java - 针对 HSQLDB 测试 DAO 的 Spring/Hibernate/Junit 示例