gpt4 book ai didi

java - Spring Boot 1.2.5.RELEASE @Transaction

转载 作者:行者123 更新时间:2023-12-02 04:31:13 25 4
gpt4 key购买 nike

升级到 Spring Boot 1.2.5 后,尝试执行以下查询时会抛出异常。

由以下原因引起:javax.persistence.TransactionRequiredException:执行更新/删除查询

@Modifying
@Transactional
@Query(value = "insert into some_table (some_id) VALUES (?1)", nativeQuery = true)
public void insertSomeTable(long some_id);

就好像 @Transactional 注释被忽略了。对于 Spring Boot 1.2.1,这是可行的。有什么想法吗?

最佳答案

tl;博士

您显然正在使用 JTA 1.2 的 @javax.transaction.Transactional ,不幸的是,Boot 版本包含的 Spring Data 版本中对此的支持已被破坏。解决方法是使用 Spring Framework 的 @org.springframework.transaction.Transactional

详细信息

该 Spring Boot 版本附带的 Spring Data 版本修复了之前存在的事务错误。这有效地“修复”了由 Spring Data 控制的存储库的事务处理。

不幸的是,您显然正在使用 JTA 1.2 的 @Transactional 支持的切换。我已经修复了DATACMNS-732 (将包含在 Fowler SR2 和 Gosling RC1 中)并创建了 ticket in Spring Framework改进库内的场景(由于需要复制类,我们基本上没有获得 JTA 1.2 支持)。

关于java - Spring Boot 1.2.5.RELEASE @Transaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31440865/

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