`
icess
  • 浏览: 253330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于: org.hibernate.StaleStateException: Batch update

    博客分类:
  • Tips
阅读更多
在使用hibernate项目中,持久化类的ID用Long与long有很大区别!!

用long 作为id,当一个新的临时类要持久化时会报一个这种错:
Exception executing batch: org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
因为这个临时类,已经有一个id=0 (long的默认值);这时hibernate 为错认为这是一条持久化类,从而进行更新操作,故报错!!
这时把持久类的id 类型改成Long 就OK了,再create 时,临时类的id为null ,hibernate 才会正确的判断这是临时类而进行save操作!!

from: http://www.blogjava.net/mose2006/archive/2007/09/28/149034.html
分享到:
评论
3 楼 tanglingshuai 2009-12-27  
liulehua 写道
根本原因是:没有把该对象对应的主键保存到数据库!,在页面上写个隐藏域的时候,没有写value=这个对象的Id值。
不要去找什么配置文件得问题。


世外高人!
2 楼 xingxing 2009-01-17  
你测试过吗?我感觉这样还不行呀,测试了好久了,数据库中是递增的主键为int的,
怎么修改成Long的呀,最受不了的就是,这个方法有时OK的,但是有时就出现上面的错误,还是没有解决。。。。。
1 楼 liulehua 2008-11-14  
根本原因是:没有把该对象对应的主键保存到数据库!,在页面上写个隐藏域的时候,没有写value=这个对象的Id值。
不要去找什么配置文件得问题。

相关推荐

    报错:PermissionError: [WinError 5] 拒绝访问 : '../data'怎么解决

    在运行李沐的动手学深度学习的代码 train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size) 时加载mnist数据出错: 这里提供两种解决方法

    Hibernate错误及解决办法集合

    ### Hibernate常见错误及解决办法 #### 一、Nodefaultconstructorforentity 错误 **问题描述**:在使用Hibernate执行查询语句时,系统抛出`Nodefaultconstructorforentity`错误。 **可能原因**:该错误通常是由于...

    org.springframework.batch-2.0.0.RELEASE-with-dependencies

    - "org.springframework.batch-2.0.0.RELEASE-with-dependencies" 压缩包包含了 Spring Batch 2.0.0.RELEASE 版本及其所有依赖,方便开发者快速搭建环境。 - 依赖包括但不限于 Spring Framework、JDBC 驱动、JPA、...

    SSH整合常见错误总结

    **问题描述**:执行Hibernate操作时,如插入数据,遇到`org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update`异常。 **原因分析**:这通常是由于数据库表不存在或表结构不匹配引起...

    hibernate-batch-size-test:Hibernate hibernate.jdbc.batch_size 测试

    `hibernate.jdbc.batch_size`是Hibernate配置中的一个重要参数,用于控制批处理操作的大小。本文将深入探讨这个参数的意义、作用以及如何在实际应用中进行测试。 批量插入是提高数据库性能的有效手段,特别是在大量...

    hibernate.properties

    #hibernate.hbm2ddl.auto update #hibernate.hbm2ddl.auto validate ## specify a default schema and catalog for unqualified tablenames #hibernate.default_schema test #hibernate.default_catalog test #...

    python课程设计基于resnet18迁移学习的猫狗分类问题源码.zip

    [Time: 4h 53m 19s, Epoch: 50, Batch: 400 / 1250] loss: 9.063549940416124 Best Epoch: 49 , Current Acc Of Val Set: 0.9536 , Best Acc Of Val Set: 0.9648 [Time: 4h 53m 47s, Epoch: 50, Batch: 500 / 1250...

    基于python实现深度学习bi-lstm-crf的(分词/词性标注/实体识别)实现

    1.0220 sec/batch step: 40/20000... loss: 55.0804... 1.1040 sec/batch . . step: 3760/20000... loss: 2.1385... 0.9900 sec/batch step: 3780/20000... loss: 1.9285... 0.9870 sec/batch step: 3800/20000... ...

    计算机病毒与防护:VLAN间路由.pptx

    VLAN的局限性 VLAN 100 SWA VLAN 200 VLAN在分割广播域的同时也限制了不同VLAN间的主机进行二层通信的能力。 VLAN路由-每个VLAN一个物理连接 在二层交换机上配置VLAN,每一...[SWA]vlan batch 2 3 [SWA-GigabitEtherne

    Batch.io:Batch.io是用于处理Autodesk Maya批处理命令的工具

    **Batch.io工具详解** Batch.io是一款专为Autodesk Maya设计的批处理命令工具,它极大地提升了在Maya中执行自动化任务的效率。Maya是一款强大的3D建模、动画、模拟和渲染软件,广泛应用于电影、电视、游戏开发等...

    Hibernate 参数配置详解

    例如,通过设置合适的 `hibernate.max_fetch_depth` 和 `hibernate.default_batch_fetch_size` 可以显著提升应用性能;而启用 `hibernate.generate_statistics` 则有助于我们更好地监控和分析应用性能瓶颈。此外,...

    Manning.Java.Persistence.with.Hibernate.Nov.2006

    6. **缓存机制**:Hibernate提供了第一级缓存和第二级缓存,用于提高性能。书中会讨论缓存的工作原理以及如何配置和使用它们。 7. **性能优化**:包括延迟加载(Lazy Loading)、批处理(Batch Processing)、预...

    Java.Persistence.with.Hibernate

    4. **CRUD操作**:学习如何使用Hibernate进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,包括基本的增删改查以及事务管理。 5. **查询语言(HQL)**:熟悉Hibernate Query Language,它是...

    hibernate配置参数大全

    ### Hibernate配置参数详解 #### 一、数据库连接配置(JDBC) 在Hibernate中,与...以上是关于Hibernate配置参数的一些核心内容。通过合理地设置这些参数,可以有效地管理和优化Hibernate应用程序的性能和行为。

    SAP-17LSMW使用Standard Batch导入BOM.docx

    SAP-17LSMW 使用 Standard Batch 导入 BOM SAP-17LSMW 是 SAP 系统中的一种数据导入工具,使用 Standard Batch 可以将批量数据导入到 SAP 系统中。以下是在 SAP-17LSMW 中使用 Standard Batch 导入 BOM(物料清单)...

    spring-framework-4.3.8.RELEASE官方完整包加官方文档

    4. **数据访问**:Spring提供了对多种数据库访问技术的支持,包括JDBC、ORM框架如Hibernate和MyBatis,以及NoSQL数据库的集成。 5. **声明式事务管理**:Spring的事务管理使得开发者可以声明性地控制事务边界,无需...

    Spring JdbcTemplate.batchUpdate 例子

    `JdbcTemplate`的`batchUpdate`方法就是用来实现这样的功能,它可以批量执行更新语句,如INSERT、UPDATE或DELETE。 `batchUpdate`方法的基本使用如下: ```java int[] result = jdbcTemplate.batchUpdate( ...

    hibernate 3.3.2

    10. **性能优化**:Hibernate 3.3.2版本中包含了各种性能优化措施,例如批处理(Batch Processing)、预加载(Preloading)以及结果集缓存(Result Set Caching)等。 总之,Hibernate 3.3.2作为一个成熟的ORM框架...

    让hibernate输出sql语句参数配置.doc

    hibernate.default_batch_fetch_size 参数用于设置 Hibernate 关联的批量抓取默认数量。其取值建议为 4、8 或 16。 9. hibernate.default_entity_mode hibernate.default_entity_mode 参数用于指定由这个 ...

    python基于openpyxl读写excel

    batch_add_row_data() 批量有效行下增加多行数据 查询: 1. get_row_data() 获取指定行数据 2. get_col_data() 获取指定列数据 3. get_cell_data() 获取指定单元格数据 4. get_sheet_data() 获取整个表的数据 ...

Global site tag (gtag.js) - Google Analytics