Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
2016-07-13 10:41
399 查看
今天在使用Hibernate的时候,碰到这样一个异常:
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
详细异常信息如下:
Exception in thread "main" org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61)
at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:24)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2403)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at model.xgb.bo.impl.ManagerServiceImpl.main(ManagerServiceImpl.java:709)
Hibernate: select role0_.ID as ID5_0_, role0_.NAME as NAME5_0_ from ROLE role0_ where role0_.ID=?
Hibernate: select org0_.ID as ID2_1_, org0_.LAYER as LAYER2_1_, org0_.NAME as NAME2_1_, org0_.ORG_ID as ORG4_2_1_, org1_.ID as ID2_0_, org1_.LAYER as LAYER2_0_, org1_.NAME as NAME2_0_, org1_.ORG_ID as ORG4_2_0_ from ORG org0_ left outer join ORG org1_ on org0_.ORG_ID=org1_.ID
where org0_.ID=?
Hibernate: update TEACHER set PASSWORD=?, NAME=?, ROLE_ID=?, ORG_ID=? where ID=?
2008-11-6 16:16:22.796::org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:301)::ERROR::Could not synchronize database state with session
org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61)
at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:24)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2403)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at model.xgb.bo.impl.ManagerServiceImpl.main(ManagerServiceImpl.java:709)
发现异常:
org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count:
0; expected: 1
我用的是mysql数据库。
因为我在java中保存对象时采用了指定key的方式,而数据库中采用了autoinc。。
所以这里应该把autoinc去掉。并把相应的hbm.xml中的key指定方式修改为:assigned而非原先的identity。。。。
收藏于 2011-04-09
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
详细异常信息如下:
Exception in thread "main" org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61)
at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:24)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2403)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at model.xgb.bo.impl.ManagerServiceImpl.main(ManagerServiceImpl.java:709)
Hibernate: select role0_.ID as ID5_0_, role0_.NAME as NAME5_0_ from ROLE role0_ where role0_.ID=?
Hibernate: select org0_.ID as ID2_1_, org0_.LAYER as LAYER2_1_, org0_.NAME as NAME2_1_, org0_.ORG_ID as ORG4_2_1_, org1_.ID as ID2_0_, org1_.LAYER as LAYER2_0_, org1_.NAME as NAME2_0_, org1_.ORG_ID as ORG4_2_0_ from ORG org0_ left outer join ORG org1_ on org0_.ORG_ID=org1_.ID
where org0_.ID=?
Hibernate: update TEACHER set PASSWORD=?, NAME=?, ROLE_ID=?, ORG_ID=? where ID=?
2008-11-6 16:16:22.796::org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:301)::ERROR::Could not synchronize database state with session
org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61)
at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:24)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2403)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at model.xgb.bo.impl.ManagerServiceImpl.main(ManagerServiceImpl.java:709)
发现异常:
org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count:
0; expected: 1
我用的是mysql数据库。
因为我在java中保存对象时采用了指定key的方式,而数据库中采用了autoinc。。
所以这里应该把autoinc去掉。并把相应的hbm.xml中的key指定方式修改为:assigned而非原先的identity。。。。
收藏于 2011-04-09
相关文章推荐
- 中石油—2的幂次方(power)
- 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配
- python 生成器
- Qt定时器两种用法
- android自定义view三(draw和ondraw)
- Android四大组件
- android开发中涉及到的度量单位
- 三个方法让你成为更好的程序员
- 删除USB转串口的所有驱动 win7可用
- 水波纹的简介
- iOS开发支付集成之微信支付
- iOS开发支付集成之微信支付
- 泛型 "new的性能"
- 向上转型和向下转型
- git.oschina免费的、分布式代码管理工具
- RSA生成公私钥
- Request对象中可以获取各种路径信息
- Intellij Idea java文件不显示
- 初窥Linux 之 我最常用的20条命令
- HTML5中的音频和视频播放