以下是我的申请流程
控制器 - 服务 - 存储库
在服务层,我们有@Transactional注释我们也有jpa:repository配置,我们指定实体管理器和txn管理器.
我怀疑是否jpa:repositories认为考虑了指定的txn管理器,并且没有@Transactional在服务层指定的影响.例如:服务层@Transactional可以映射到自定义txn管理器,其中由服务调用的存储库可以具有不同的txn管理器.在那种情况下,它不会产生问题吗?
有人澄清@Transactional我们在使用jpa存储库时是否需要放在服务层?
我设置了两个参数以通过 False 禁用自动提交,但在没有提交事务的情况下保存对实体的操作。
spring.datasource.hikari.auto-commit=false
spring.jpa.properties.hibernate.connection.provider_disables_autocommit=true
Run Code Online (Sandbox Code Playgroud)
我测试行为的代码片段是:
Log logEntity= new Log();
log.setId("123456789");
logRepository.save(logEntity);
Run Code Online (Sandbox Code Playgroud)
执行此代码后logEntity保存在表中。
如何在 Spring boot 中禁用自动提交标志?