mysql - 如何在没有事务的情况下使用 Spring-Jpa 中的 JpaSpecificationExecutor

标签 mysql spring-data-jpa spring-data spring-transactions

enter image description here当我使用 JpaSpecificationExecutor 做 findAll 时,我发现了它 自动添加事务,以

启动sql

设置自动提交 = 0;

我不想要它。

我测试 JpaRepository,执行相同的 select sql,但它不符合 设置自动提交 = 0;

但是 JpaSpecificationExecutor 有。

然后我断点它并发现有一个代理可以添加事务,但我不知道如何禁用它。

我确实设置了 defaultAutoCommit: true

我也设置了

datasource:

  tomcat:

    default-auto-commit: true

  dbcp2:

    default-auto-commit: true

连接池已经是defaultAutoCommit=true

没有帮助

所以我责怪 JpaSpecificationExecutor

@Repository
public interface GameRepository extends JpaRepository<GameEntity, Integer>, JpaSpecificationExecutor<GameEntity> {
    List<GameEntity> findByName(String name);
}
public List<GameEntity> search(HttpServletRequest request) {
        return mGameRepository.findAll(searchAction(request), new Sort(Sort.Direction.DESC, "id"));
    }

break point screen cut

最佳答案

事实证明,所有 CRUD 方法(CrudRepository 方法)默认都标记为事务性的。

但是我怎样才能取消标记呢?

关于mysql - 如何在没有事务的情况下使用 Spring-Jpa 中的 JpaSpecificationExecutor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55394147/

相关文章:

php - 显示当前数据库记录

java - Jpa 通过字段子项获取父项

spring-boot - JoinColumn 引用一个列,但目标实体没有映射到该列的属性 JPA/Hibernate SINGLE_TABLE 继承中的错误

java - SimpleDateFormat 不解析毫秒和 MySql 舍入日期

java - 使用 querydsl 按 null 搜索

java - 如何在 Spring 中处理具有并发访问的事务

jquery - asp.net json将数据从表复制到另一个表

mysql - 排名系统在排名输出方面的差距

php - 将多个查询数据放入单个 HTML 表(PHP、MySQL)

java - 用@DataJpaTest 注释的测试不是用@Autowired 注释的 Autowiring 字段