gpt4 book ai didi

java - Session.flush() 导致 org.hibernate.StaleStateException : Batch update returned unexpected row count from update: 1 actual row count: 0 expected: 1

转载 作者:行者123 更新时间:2023-12-02 04:01:48 27 4
gpt4 key购买 nike

我有一个 java 后端 Web 应用程序,在某种数据库更新后刚刚开始抛出错误。

我已经能够将代码隔离到刷新 session 变量的单行中:

Session session=getSession();

session.saveOrUpdate(parm);

session.flush(); //This is where it errors

它会抛出这个错误:

错误 AbstractFlushingEventListener 无法将数据库状态与 session 同步

org.hibernate.StaleStateException:批量更新从更新中返回意外行数:1 实际行数:0 预期:1

代码已经一年多没有改变了;它刚刚开始抛出此错误。

有什么建议吗?

谢谢

最佳答案

当 hibernate 无法找到需要更新的所有行时,通常会导致此错误。这意味着当您尝试更新从数据库中提取的某些对象时,它们实际上不再存在(或者根本就不存在)。

这可能是因为另一个线程正在删除它们,或者数据库的隔离模式设置为 read_uncommited,因此另一个事务创建的行无法保存(由于事务失败)并且不再存在。

引用:https://stackoverflow.com/questions/21625059/org-hibernate-stalestateexception-batch-update-returned-unexpected-row-count-fr

关于java - Session.flush() 导致 org.hibernate.StaleStateException : Batch update returned unexpected row count from update: 1 actual row count: 0 expected: 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56729914/

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