求助高手帮忙看下这个报错,几乎所有页面都一样。我怀疑是什么锁死了,求教解决办法
org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(I)V(NonBatchingBatcher.java:27)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(Ljava.io.Serializable;Ljava.lang.Object;ILjava.lang.Object;Ljava.lang.String;Lorg.hibernate.engine.SessionImplementor;)V(AbstractEntityPersister.java:2291)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(Ljava.io.Serializable;Ljava.lang.Object;Ljava.lang.Object;Lorg.hibernate.engine.SessionImplementor;)V(AbstractEntityPersister.java:2440)
at org.hibernate.action.EntityDeleteAction.execute()V(EntityDeleteAction.java:73)
at org.hibernate.engine.ActionQueue.execute(Lorg.hibernate.action.Executable;)V(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(Ljava.util.List;)V(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions()V(ActionQueue.java:144)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(Lorg.hibernate.event.EventSource;)V(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(Lorg.hibernate.event.FlushEvent;)V(Optimized Method)
at org.hibernate.impl.SessionImpl.flush()V(SessionImpl.java:985)
at com.dao.HibernateSessionFactory.getSession()Lorg.hibernate.Session;(HibernateSessionFactory.java:60)
at com.dao.BaseHibernateDAO.getSession()Lorg.hibernate.Session;(BaseHibernateDAO.java:13)
at jsp_servlet.__services._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(__services.java:156)
at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(Optimized Method)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(Optimized Method)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(Optimized Method)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(Optimized Method)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source
org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(I)V(NonBatchingBatcher.java:27)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(Ljava.io.Serializable;Ljava.lang.Object;ILjava.lang.Object;Ljava.lang.String;Lorg.hibernate.engine.SessionImplementor;)V(AbstractEntityPersister.java:2291)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(Ljava.io.Serializable;Ljava.lang.Object;Ljava.lang.Object;Lorg.hibernate.engine.SessionImplementor;)V(AbstractEntityPersister.java:2440)
at org.hibernate.action.EntityDeleteAction.execute()V(EntityDeleteAction.java:73)
at org.hibernate.engine.ActionQueue.execute(Lorg.hibernate.action.Executable;)V(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(Ljava.util.List;)V(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions()V(ActionQueue.java:144)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(Lorg.hibernate.event.EventSource;)V(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(Lorg.hibernate.event.FlushEvent;)V(Optimized Method)
at org.hibernate.impl.SessionImpl.flush()V(SessionImpl.java:985)
at com.dao.HibernateSessionFactory.getSession()Lorg.hibernate.Session;(HibernateSessionFactory.java:60)
at com.dao.BaseHibernateDAO.getSession()Lorg.hibernate.Session;(BaseHibernateDAO.java:13)
at jsp_servlet.__services._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(__services.java:156)
at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(Optimized Method)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(Optimized Method)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(Optimized Method)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(Optimized Method)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source
解决方案 »
- Struts标签 存值,事件,计算问题,呵呵没那么复杂,新手请教!
- 看下代码有哪里错吗,说是if那有错,错在哪里哦
- servlet 中process方法
- MySQL批量更新问题求解
- 一个使用 AJAX servlet返回EXCEL 问题
- servlet的问题?
- HashMap与session(急用,等等)
- 有关于servlet存放位置和web-inf的配置问题,感谢先!!
- 如何调用其它页面上的applet?
- CRM项目数据层用Hibernate还是Mybatits好还是直接调用存储过程
- Lucene分词后的Token是干什么用的,怎么用它?
- Tab键在TEXT文件中为什么占的位数不一样?JAVA导出TEXT文件对齐如何解决?
在<many-to-one>中加个属性lazy="false"看看啊
1.使用的是hibernate的saveOrUpdate方法保存实例。saveOrUpdate方法要求ID为null时才执行SAVE,在其它情况下执行UPDATE。在保存实例的时候是新增,但你的ID不为null,所以使用的是UPDATE,但是数据库里没有主键相关的值,所以出现异常。
我的配置已经是default-lazy="false"
补充下状况:
进SQL2005查看表数据,发现报错:已超过了锁请求超时时段
我重启了下SQL服务。现在项目是没问题了
但是不知道是不是因为大家说的主键不存在的关系。还是得查下根本原因,不然以后还得SQL被锁