gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 16:09:30 25 4
gpt4 key购买 nike

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com