问题标签 [stalestateexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
21469 浏览

java - org.hibernate.StaleStateException:批量更新从更新 [0] 返回了意外的行数;实际行数:0;预期:1

有时在持久化一个 obj 时,它的某个字段太大而无法放入 db 字段,从而导致数据截断异常。在下面的代码中,我尝试捕获 DataException 并简单地清空该字段,然后重新保存。但是,重新保存时出现异常。为什么会出现批量更新异常,我该如何解决?

例外:

p>

0 投票
1 回答
207 浏览

hibernate - 在同一个 cftransaction 中混合原始查询和 ORM 操作

cfquery在同一个标​​签中混合使用原始查询和 ORM 操作是否安全cftransaction

通过查看 SQL 探查器,查询似乎不会按顺序执行,它们按以下顺序出现在探查器中:A、B、D、C。据我了解,这可能是因为休眠session 只有在到达 close 时才会被刷新cftransaction,对吗?

我注意到由于另一个问题,我将在另一个问题中问一个。但基本上,我必须在运行 ORM 语句之前禁用特定表上的触发器,否则会导致StaleStateException.

DISABLE TRIGGER当在同一个和ENABLE TRIGGER语句之间进行 ORM 操作时cftransaction,它并没有解决问题,因为在ORM 查询之前ENABLE TRIGGER运行。但是,当使用以下内容时,它可以工作:

我也尝试ormFlush()在 ORM 语句之后立即使用,但没有奏效。有没有办法在同一个中混合原始查询和 ORM 语句cftransaction并让语句按顺序运行?也许我完全误解了这个问题,但我现在很困惑。

0 投票
0 回答
834 浏览

java - 从数据库中删除时出现休眠过时状态异常

我正在将 Hazelcast 与 Mysql 和 ofc hibernate 用于连接。我有一个多线程应用程序,它正在处理数据,然后尝试从 hazelcast 和 db 中删除。

但过了一段时间,我得到

当应用程序在处理后尝试从 db 中删除一些数据时,就会发生这种情况。以下是此异常的详细错误日志:

这就是道:

我不知道为什么,但是从数据库中删除对象时代码失败了。任何可能的解决方案?

0 投票
0 回答
910 浏览

multithreading - 测试一项一项运行良好,但并行运行时失败很多

我有以下问题:

我已经使用 WebDriver + Java + TestNG + Maven 创建了一堆测试,当我一个一个运行它们时工作得很好 - 当我的 testng.xml 文件中的线程数为 1 但当我增加线程数时测试开始失败,我遇到的最常见问题是:1. 过时的元素引用异常 2. 超时 3. 键盘操作在大多数情况下不起作用

至于现在,我仅使用 Firefox 浏览器 23.0.1 在本地计算机上通过 testng.xml 或 selenium 网格(2.3.1 服务器)运行测试。

任何答案或想法都会有所帮助,谢谢!

0 投票
2 回答
3324 浏览

java - 初始提交失败后休眠会话不刷新数据库中的数据

我正在开发一个使用Hibernate的多线程 Java 应用程序。我们得到了一个org.hibernate.StaleObjectStateException,因为我们有乐观锁定,并且某个实体(我们称之为它Pojo)从许多应用程序模块中更新,这些模块可能并且已经在竞争条件下发生冲突(我没有设计应用程序)。有问题的代码块如下所示:

Pojo.hbm.xml开始这样的事情:

这段代码的原作者将上述重试循环放入上述重试循环正是因为还有其他模块也在更新Pojo,如果初始提交由于竞争条件而失败,我们会进行额外的尝试,希望能够在一个干净、不冲突的事务中成功。我不喜欢这种模式,但暂时必须使用它。

我已经能够通过在 line 中断、pojo.setSomeVar("xyz");从另一个线程/方法更新数据库并继续操作来检测竞争条件,由于乐观锁定、回滚并进入下一次迭代,提交失败并进入 catch的重试循环。

问题在于,在第二次迭代中,该行pojo = hibnSessn.get(Pojo.class, pojoID);不会pojo使用来自 DB 的新数据进行刷新,而是从会话中提取过时的对象,从而违背了重试的目的。

另一个有趣的事情是它hibnSessn.get(...)确实进入了数据库(在正常情况下),因为当我hibnSessn.get在提交失败之前的第一次迭代之前从另一个线程/方法更改数据时,对象确实会被刷新。只有在提交失败并且事务回滚后,它才会这样做。

我正在寻找在初始提交失败后强制 Hibernate 进入数据库并刷新对象的方法。

更新: 我尝试evict/refresh在 catch 中刷新对象,但这也导致了StaleObjectStateException.

相关: https ://stackoverflow.com/questions/19364343/staleobjectstateexception-when-evicting-refreshing-stale-object-from-hibernate-s

0 投票
1 回答
4184 浏览

spring - 批量更新从更新 [0] 返回了意外的行数;实际行数:0;预期:1 通过休眠更新实体

尝试从控制器更新实体时,我不断收到此异常。请放心,已经对这个例外进行了彻底的研究,但在我的情况下,这些建议都没有奏效。

我正在尝试通过调用 hibernate 来更新医生实体session.update(entity)

}

个人信息仅包括名字、姓氏、性别、生日等生物数据。

控制器

道实现

JSP

错误

0 投票
1 回答
355 浏览

java - 使用 EventFiringWebDriver 时出现 Selenium StaleElementReferenceException

亲爱的,我正在使用 Selenium EventFiringWebDriver 来记录调用的 Web 驱动程序方法。我认识到我经常收到“ StaleReferenceException ”,而当我只使用 HtmlUnitDriver 时,我没有遇到问题。

我还认识到调用,即“click()”已经在浏览器中执行,尽管“StaleElementReferenceException”被抛出。

当 EventFiringWebDriver 在使用 HtmlUnitDriver 或 FirefoxDriver 时遇到此类问题时,有人知道吗?会不会是原始驱动程序在运行时更新了 WebElements 而 EventFiringWebDriver 的包装 WebElements没有?或者我们应该将此作为 EventFiringWebDriver 实现的错误提出来?

带有 EventFiringWebDriver 的示例代码 - 抛出 StaleElementReferenceException

相同的代码 - 只是直接使用 HtmlUnitDriver,没有任何问题

0 投票
0 回答
58 浏览

java - 从两个 tomcat 实例更新相同的数据库时获取 StaleStateException(要更新的行不同)

尝试使用休眠从两个不同的tomcat实例更新表的两个不同行时出现以下异常。获得的所有来源都表明存在并发更新问题,但这里正在更新两个不同的行仍然出现异常。版本控制似乎有问题,因为两个不同的会话试图保持同一个类。

类具有以下字段:

DAO类的更新函数:

日志:

0 投票
0 回答
80 浏览

selenium - shadow dom下的陈旧元素异常

我在影子 DOM 下遇到了一个陈旧元素的问题,场景如下:

  1. 将鼠标悬停在视频上并显示停靠栏,反之亦然

  2. HTML Dom 从不悬停变为悬停,反之亦然:

下面的 html 用于不悬停。

悬停后,变化为:

  1. 鼠标悬停后获取元素的代码如下:

但是当运行它时,我得到了 org.openqa.selenium.StaleElementReferenceException: stale element reference: stale element not found (Session info: chrome=91.0.4472.124)

PS:上面的代码可以正常使用普通的阴影元素(没有更改 DOM)。

任何人都可以知道解决问题的任何想法/解决方案,提前谢谢!