【发布时间】:2022-10-16 05:42:48
【问题描述】:
我是弹簧靴的新手。我使用spring data jpa来处理数据库。我有一种方法可以使用@Query 更新数据库中的表。但是当我尝试更新时,我得到了一个 invalidDataAccessApiUsageException 异常。当我用@Transactional 尝试它时,它会成功更新。不会更新单个操作,因此不会自动提交。
【问题讨论】:
-
不。您不想要自动提交,谁说更新是唯一正在执行的操作?实际的 tx 边界应该是您的服务不是你的存储库。
-
对不起,我不明白你的意思。我对此有点陌生。当我在 SQL 终端中执行更新查询时。我不使用事务进行更新查询,但在 Spring Boot JPA 的情况下,我无法在没有事务的情况下运行它。你能建议一些关于这个的链接或帖子吗?
-
您仍在使用交易,但您不知道。你不能在没有事务的情况下修改(插入、更新、删除)数据库中的东西。您要么有一个隐式(自动提交)或显式事务。您不希望自动提交,因为这可能导致完成 10 次单独的提交,而这些提交应该是一个单独的。
标签: spring-boot spring-data-jpa transactions updates