gpt4 book ai didi

java - 选择查询中的 OptimisticLockException

转载 作者:行者123 更新时间:2023-12-01 23:09:47 26 4
gpt4 key购买 nike

在选择查询中出现 OptimisticLockException

javax.persistence.OptimisticLockException at org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:1415) [hibernate3.jar:3.6.10.Final] at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1336) [hibernate3.jar:3.6.10.Final] at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1317) [hibernate3.jar:3.6.10.Final] at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:255) [hibernate3.jar:3.6.10.Final]

查询是一个简单的选择查询,涉及多个实体和where子句

select distinct a.id ,b.type ... from table1 a ,table2 b ,table3 c...where b.id=a and c.id in...

众所周知,当我们尝试更新一个脏实体时,会发生 OptimisticLockException,但是 select 查询怎么会导致这个异常。有没有可能,或者这是一个错误?

最佳答案

很可能选择查询不是异常的来源,而只是触发器。通常,Hibernate 会在相关选择之前触发刷新,因此,如果您进行的更新导致 OptimisticLockException,则刷新更新时将引发异常。

在执行选择查询之前尝试手动刷新,您应该会看到异常(不过您可能必须将刷新模式设置为手动)。

关于java - 选择查询中的 OptimisticLockException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196189/

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