gpt4 book ai didi

hibernate - 在grails中,为什么刷新后直接得到StaleObjectStateException?

转载 作者:行者123 更新时间:2023-12-02 14:05:06 24 4
gpt4 key购买 nike

我得到这样的代码:

def myObject = MyDomainClass.get(myId)
myObject.refresh()
myObject.myProperty = myValue
myObject.save(flush:true, failOnError:true)

尽管进行了获取和刷新,但执行保存时,有时仍会收到“org.hibernate.StaleObjectStateException:行已由另一个事务更新或删除(或未保存的值映射不正确)”。

当我开始在多个 session 中同时执行此方法时,就会发生这种情况。但是然后事务1的 肯定完成,此代码再次针对事务2执行,并且 仍然失败! (当事务由于乐观锁定而失败时,我正在使用事务服务重新执行事务,请参阅 here)。

尽管从数据库中获得了"new"版本,那怎么办?

最佳答案

This forum thread提示您可能需要另一个Hibernate Session。如果您尝试进行新交易以进行新交易该怎么办?

Book.withNewSession{}

关于hibernate - 在grails中,为什么刷新后直接得到StaleObjectStateException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4386054/

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