StaleObjectStateException
全部标签 我只是在尝试乐观锁定。我有以下类(class):@EntitypublicclassStudent{privateIntegerid;privateStringfirstName;privateStringlastName;privateIntegerversion;@VersionpublicIntegergetVersion(){returnversion;}//allothergettersommited.}现在我正在获取其中一名学生并尝试同时更新其属性。Threadt1=newThread(newMyRunnable(id));Threadt2=newThread(newMyR
我正在尝试将数据从一个数据库复制到另一个数据库。一切正常,直到源数据库中的一行被修改(下面的堆栈跟踪)。向目标数据库添加新行按预期工作。我有一个包含以下bean的每个数据库连接(mysql和hsqldb)的上下文文件:在我的@Service中,我为每个数据库连接创建了一个JpaRepository:@AutowiredprivateEntityManagerhsqldbEntityManager;@AutowiredprivateEntityManagermysqlEntityManager;privateMyRepositoryhsqldbDao;privateMyRepositor
我的代码在很长一段时间内都运行良好,但经过几次重构后,我发现我突然无法再保存Group对象了。我遇到了可怕的Rowwasupdatedordeletedbyanothertransaction(orunsaved-valuemappingwasincorrect)错误。在谷歌搜索之后,我当然找到了thisStackOverflowquestion,但它对我没有任何帮助,因为我没有同时做任何事情。经过我的重构后,我发现的唯一区别就是这个变化。之前是:finalCollectionallByBarcode=sampleService.byBarcode(groupRequest.getSa
我在SpringDefaultMessageLisenerContainer的监听器中使用Hibernate。当我让监听器以多线程运行时,我经常遇到这种只读操作的StaleStateException:Queryq=session.createQuery("SELECTkFROMKeywordkWHEREk.name=:name").setParameter("name",keywordName);Listkws=q.list()在q.list()处抛出异常:optimisticlockingfailed;nestedexceptionisorg.hibernate.StaleObje
我们将Hibernate3.6.3.Final和MySQL5.5.8用于Web应用程序。后端在JBoss6.0.0Final服务器上运行。大多数时候一切都很好,但偶尔我们会收到StaleObjectStateException。经过一段时间的试验后,我们发现可以通过向后端发送高频请求(即点击尽可能快地触发请求的按钮)来重现它。据我所知,异常意味着从数据库中获取了一个域对象,当Hibernate尝试再次持久化它时,它注意到另一个事务同时更改了它。但是据我了解数据库,冲突事务应该被隔离到一定程度以防止这种行为。我明确地将隔离级别更改为SERIALIZABLE,这保证了可重复读取,并且我禁用
我在使用hibernate的基于Spring框架的Web应用程序的Controller中遇到此异常。我尝试了很多方法来解决这个问题,但无法解决。在Controller的方法handleRequestInternal中,对数据库的调用主要是为了“读取”,除非它是提交操作。我一直在使用Spring的Session但移至getHibernateTemplate()问题仍然存在。基本上,这是对数据库的第二次调用会引发此异常。那就是:1)getEquipmentsByNumber(number){首先根据“编号”从数据库中获取设备,该编号具有属性列表,每个属性都有值列表。我遍历这些值(原始对象字