gpt4 book ai didi

hibernate - @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 何时提交? - 跟进

转载 作者:行者123 更新时间:2023-12-02 10:22:14 25 4
gpt4 key购买 nike

查看此链接: When does @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) commit?

B怎么可能是正确答案呢?我认为用 REQUIRES_NEW 注释的方法会在外部挂起的事务继续之前提交。

我问这个问题是因为当涉及到从for循环中的另一个bean的requires_new开始的事务时,我看到了奇怪的行为。就像 Aby 在 for 循环中调用 bob 一样。如果其中一个事务由于 UniqueConstraintViolation 等原因而回滚,HSQLDB 和 db2 也会间歇性地回滚以前的事务,并且间歇性地仅事务失败,并提交其他事务。并且只有当我重新启动 jboss 时,行为才会改变。当事务失败并且我得到前一个事务也回滚的行为时,我还会得到 jdbcException:连接在循环的下一次调用中关闭。因此,首先我想知道 require_new 的预期行为。我正在使用 Hibernate、jboss 5、CMT、db2 和内存中的 HSQLDB(我尝试过 1.8 版本和 2.2.9)谢谢!

最佳答案

所以我发现这就是奇怪行为的原因

jboss ignores requires_new after restart

在链接中:

When does @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) commit?

替代方案 a 是正确答案,因此它是该帖子中的错误答案。

关于hibernate - @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 何时提交? - 跟进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15666104/

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