jpa乐观锁异常

异常日志

org.springframework.orm.ObjectOptimisticLockingFailureException: Object of class [com.xixicat.domain.ErrorLog] with identifier [20544]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.xixicat.domain.ErrorLog# 20544]    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:298)    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:225)    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:521)    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:131)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)    at com.sun.proxy.$Proxy123.save(Unknown Source)    at com.xixicat..ConcurrentTest$1.run(ConcurrentTest.java:40)    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)    at java.util.concurrent.FutureTask.run(FutureTask.java:266)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at java.lang.Thread.run(Thread.java:745)Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.xixicat.domain.ErrorLog# 20544]    at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:2541)    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3285)    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3183)    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3525)    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:159)    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465)    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351)    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)    at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)    at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)    at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:177)    at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:77)    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:517)    ... 20 moreorg.springframework.orm.ObjectOptimisticLockingFailureException: Object of class [com.xixicat..domain.ErrorLog] with identifier [20544]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.xixicat.domain.ErrorLog# 20544]    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:298)    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:225)    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:521)    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:131)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)    at com.sun.proxy.$Proxy123.save(Unknown Source)    at com.patterncat.ConcurrentTest$1.run(ConcurrentTest.java:40)    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)    at java.util.concurrent.FutureTask.run(FutureTask.java:266)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at java.lang.Thread.run(Thread.java:745)Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.xixicat.domain.ErrorLog# 20544]    at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:2541)    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3285)    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3183)    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3525)    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:159)    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465)    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351)    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)    at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)    at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)    at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:177)    at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:77)    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:517)    ... 20 more

关键字:jpa, java, voke, org


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部