`
zhang_zling
  • 浏览: 96938 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

org.hibernate.StaleObjectStateException: Row was updated or deleted by another t

阅读更多
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect):
这一人异常调试了一天多才整出来,其原因:

主键对应数据库表中的ID字段,其值由oracle sequence生成, 而timestamp属性,对应的是数据库的TIMESTAMP字段,并且这个属性在mapping中定义为<version>属性, 这样,就会出现两点要注意的地方

a.数据库中的这个timestamp的字段一定要有值,并且是日期值,否则当hibernate更新这个字段没有值的那条记录时,
   会出现如下错误
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.mytophome.admin.domain.MthCity#1]

b. 在更新MthCity中的值到数据库中,也就是更新一条记录时,一定不能调用方法人工设置timestamp属性的值,也就是下面的语句不能出现
mthCity.setTimeStamp(new Date());
否则也会引起hibernate的出错.


分享到:
评论
2 楼 masuweng 2016-10-26  
@Column(name="modify_date")

//@Version
@Temporal(TemporalType.DATE)

报错原因:
我把modify_date字段的注解定义为了@Version,报错了。
修改方法:修改注解为@Temporal(TemporalType.DATE)
1 楼 兰博基尼 2010-08-30  
那如何解决啊??求解

相关推荐

    hibernate错误汇总

    错误十:Exception in thread "main" org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) 错误原因:这个异常通常发生在并发...

    hibernate应用包

    4. 异常处理:熟悉Hibernate常见的异常,如ConstraintViolationException、StaleObjectStateException等,以便于调试和问题定位。 5. 日志配置:通过日志框架(如Log4j、SLF4J)设置合适的日志级别,便于跟踪和分析...

    Hibernate_Demo

    【Hibernate_Demo】是一个关于Java持久化框架Hibernate的示例项目,主要涵盖了对象关系映射(ORM)技术在实际操作中的应用,包括数据库的增、删、改、查(CRUD)基本操作。这个项目是为MyEclipse 6.5开发环境设计的...

    hibernate04.zip

    Hibernate的异常体系主要基于`org.hibernate`包下的异常类,如`HibernateException`、`StaleObjectStateException`等。在编程过程中,应适当地捕获并处理这些异常,确保程序的健壮性。 总结,Hibernate与MySQL的...

    Hibernate持久层方法汇总

    在Java企业级开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了数据库操作,将数据库中的记录映射为Java对象。本文将详细介绍Hibernate持久层中的一些核心方法,包括`session.load`, `session....

    Hibernate电子版及源码

    《Hibernate电子版及源码》资源集合是一份珍贵的学习材料,专为那些渴望深入了解Java持久化框架Hibernate的开发者准备。Hibernate作为一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作...

    hibernate_src

    8. 异常体系:Hibernate有自己的异常体系,如HibernateException、StaleObjectStateException等,这些异常可以帮助开发者定位和处理数据库操作中的问题。 通过对Hibernate源码的深入学习,我们可以了解其内部机制,...

    Hibernate中,利用版本管理机制来控制事务并发

    在Hibernate的源码中,`org.hibernate.persister.entity.AbstractEntityPersister`类负责处理版本管理。当执行更新操作时,`AbstractEntityPersister`会比较数据库的版本信息与对象中的版本信息,并在必要时抛出异常...

    Hibernate3.3 中文参考手册(1)(2)

    - Hibernate 抛出的一系列特定异常,如 `HibernateException`, `StaleObjectStateException` 等,需要在代码中适当地捕获和处理。 **9. 联合主键与复合主键** - Hibernate 支持联合主键和复合主键,可以由多个字段...

    hibernate_reference

    《Hibernate参考指南》是Java开发人员深入理解和使用Hibernate框架的重要资料。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互,使得开发者无需编写大量的SQL代码,就能...

    java错误大全,详细解释

    2. Hibernate框架:如 HibernateException(通用持久化异常)、StaleObjectStateException(并发修改异常)等。 3. MyBatis框架:SqlMapClientException(SQL映射客户端异常)、ResultMapException(结果映射异常)...

    hibernate各种操作

    Hibernate的异常体系基于JDBC,如`HibernateException`、`StaleObjectStateException`等,需要合理捕获并处理。 14. 动态模型 Hibernate的`DynamicModel`允许在运行时动态创建实体,适用于不确定数据结构的场景。...

    Hibernate.lock()方法中各种锁的区别.docx

    ### Hibernate.lock() 方法中各种锁的区别 #### 一、悲观锁与乐观锁概念解析 **悲观锁**(Pessimistic Lock)与**乐观锁**(Optimistic Lock)是数据库和对象关系映射(ORM)框架中两种重要的锁定机制,主要用于...

    Hibernate version 乐观锁 (xml方式)

    在Hibernate中,乐观锁的处理主要在`org.hibernate.event.internal.DefaultMergeEventListener`和`org.hibernate.event.internal.DefaultUpdateEventListener`这两个事件监听器中完成。当调用`Session.merge()`或`...

    hibernate中文开发手册详解

    5. **异常处理**: 捕获并处理Hibernate的特定异常,如`StaleObjectStateException`表示并发控制问题,`NonUniqueObjectException`表示违反唯一性约束等。 **总结** 《Hibernate中文开发手册详解》提供了全面的...

    hibernate中文文档

    Hibernate抛出的异常通常继承自`HibernateException`,如`StaleObjectStateException`表示并发控制问题,`ObjectNotFoundException`表示对象未找到等。 ### 9. 结论 Hibernate通过对象关系映射简化了Java应用的...

    Nhibernate

    7. **异常处理**:Nhibernate可能会抛出各种异常,如`StaleObjectStateException`(脏数据状态)、`ObjectDeletedException`(已删除对象)等,需要适当地捕获并处理。 8. **版本控制**:确保所有开发人员使用的...

    Hibernate的乐观锁与悲观锁

    当尝试更新该实体时,Hibernate会自动检查数据库中的版本号是否与实体中的版本号匹配,如果不匹配,则会抛出`StaleObjectStateException`异常。 ##### 3.4 优点 - **减少锁竞争**:由于不需要锁定数据,所以大大...

    Hibernate3.2帮助文档

    - Hibernate抛出的异常如`ConstraintViolationException`, `StaleObjectStateException`等,需要适当地捕获和处理。 ### 结论 Hibernate 3.2作为Java ORM框架的杰出代表,通过其丰富的功能和易用性,大大简化了...

    Hibernate乐观锁和悲观锁分析

    当Hibernate在更新数据时,会对比当前版本号与数据库中的版本号,如果一致则更新,否则抛出`StaleObjectStateException`异常。乐观锁的实现不需要数据库级别的锁定,降低了数据库资源的消耗,但可能导致更多的事务...

Global site tag (gtag.js) - Google Analytics