2017-03-16 29 views
-1

我們正在使用hibernate(JPA)實體管理器在數據庫上插入(創建)數據時,職業上遇到以下錯誤。我們不在此流程上執行任何其他數據庫更新或插入操作。org.hibernate.StaleStateException:批量更新從update [0]返回意外的行數;實際行數:0;預期:1 - 雖然插入數據庫

堆棧跟蹤:

Caused by: 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:67) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:54) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:46) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3070) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2949) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3329) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:145) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:560) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:434) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1282) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:465) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2963) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2339) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:485) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:146) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:230) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final] 
    at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:61) ~[hibernate-entitymanager-5.0.5.Final.jar:5.0.5.Final] 
    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:517) ~[spring-orm-4.2.3.RELEASE.jar:4.2.3.RELEASE] 
    ... 129 more 

回答

0

通常情況下,這個錯誤是當Hibernate試圖找到一個id不存在(已刪除)

嘗試調試有關休眠的日誌,看看有什麼是拋執行最後一個查詢並生成此行爲

相關問題