-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: StaleObjectStateException during saveOrUpdate of new record.
PostPosted: Tue Feb 22, 2005 1:55 pm 
Newbie

Joined: Mon Nov 15, 2004 1:42 pm
Posts: 11
I'm getting a StaleObjectStateException with a message:

Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0


The identifier for this instance should be set by a sequence and should be 1 not 0. I've checked and as far as I can tell the row was not updated or deleted by any other transaction.

Any help would be appreciated.



Hibernate version:
2.1.6

Mapping documents:

Code:
Document.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"   "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping package="gov.nasa.msfc.repository.submittal.model.businessobject">
  <class name="Document" table="DOCUMENT" >
    <id name="documentId" column="DOCUMENT_ID" unsaved-value="null">
      <generator class="sequence">
        <param name="sequence">submittal_doc_seq</param>
      </generator>
    </id>
    <property name="imported" column="IS_IMPORTED" type="boolean"/>
    <property name="name" column="NAME" not-null="true"/>
    <property name="title" column="TITLE" not-null="true"/>
    <many-to-one name="file" class="ImportFile" cascade="save-update" column="FILE_ID"/>
    <many-to-one name="doctype" class="Doctype" cascade="none" column="DOCTYPE_ID" not-null="true"/>
    <many-to-one name="user" class="User" cascade="none" column="USER_ID" not-null="true"/>
    <many-to-one name="restriction" class="Restriction" cascade="none" column="RESTRICTION_ID" not-null="true"/>
    <joined-subclass name="NasaGeneral" table="NASAGENERAL" >
      <key column="DOCUMENT_ID"/>
      <property name="change" column="CHANGE"/>
      <property name="comments" column="COMMENTS"/>
      <property name="dataProcessDocument" column="DATA_PROCESS_DOCUMENT"/>
      <property name="dataRequestNumber" column="DATA_REQUEST_NUMBER"/>
      <property name="distributionCode" column="DISTRIBUTION_CODE"/>
      <property name="effectiveDate" column="EFFECTIVE_DATE" type="date" not-null="true"/>
      <property name="pageSize" column="PAGE_SIZE" not-null="true"/>
      <property name="pages" column="PAGES" type="int" not-null="true"/>
      <property name="programmaticCode" column="PROGRAMMATIC_CODE"/>
      <property name="recordSeries" column="RECORD_SERIES"/>
      <property name="releaseAuthority" column="RELEASE_AUTHORITY" not-null="true"/>
      <property name="responsibleOffice" column="RESPONSIBLE_OFFICE" not-null="true"/>
      <property name="revision" column="REVISION"/>
      <property name="volume" column="VOLUME"/>
    </joined-subclass>
  </class>
</hibernate-mapping>


Code:

ImportFile.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"   "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping package="gov.nasa.msfc.repository.submittal.model.businessobject">
  <class name="ImportFile" table="IMPORT_FILE">
    <id name="fileId" column="FILE_ID" unsaved-value="null">
      <generator class="sequence">
        <param name="sequence">submittal_file_seq</param>
      </generator>
    </id>
    <property name="guid" column="GUID" not-null="true" />
    <property name="name" column="NAME" not-null="true" />
    <property name="pathname" column="PATH" not-null="true" />
    <property name="size" column="FILE_SIZE" not-null="true" />
  </class>
</hibernate-mapping>



Code between sessionFactory.openSession() and session.close():
Not sure what to put here, spring manages sessions.


Full stack trace of any exception that occurs:
Code:
11:24:17,776  WARN StaleObjectStateException:27 - An operation failed due to stale data
net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
   at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
   at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
   at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
   at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
   at org.springframework.orm.hibernate.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:214)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:244)
   at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:402)
   at gov.nasa.msfc.repository.submittal.model.dao.hibernate.DocumentHibernateDAOImpl.saveDocument(DocumentHibernateDAOImpl.java:105)
   at gov.nasa.msfc.repository.submittal.model.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:20)
   at gov.nasa.msfc.repository.submittal.view.bean.NasaGeneralBean.saveDocumentAction(NasaGeneralBean.java:315)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:138)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
   at javax.faces.component.UICommand.broadcast(UICommand.java:106)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
   at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:259)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:119)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:197)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)
11:24:17,797 DEBUG BatcherImpl:207 - done closing: 1 open PreparedStatements, 0 open ResultSets
11:24:17,797 DEBUG BatcherImpl:269 - closing statement
11:24:17,797 DEBUG BatcherImpl:207 - done closing: 0 open PreparedStatements, 0 open ResultSets
11:24:17,797 DEBUG BatcherImpl:269 - closing statement
11:24:17,797 ERROR SessionImpl:2379 - Could not synchronize database state with session
net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
   at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
   at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
   at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
   at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
   at org.springframework.orm.hibernate.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:214)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:244)
   at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:402)
   at gov.nasa.msfc.repository.submittal.model.dao.hibernate.DocumentHibernateDAOImpl.saveDocument(DocumentHibernateDAOImpl.java:105)
   at gov.nasa.msfc.repository.submittal.model.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:20)
   at gov.nasa.msfc.repository.submittal.view.bean.NasaGeneralBean.saveDocumentAction(NasaGeneralBean.java:315)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:138)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
   at javax.faces.component.UICommand.broadcast(UICommand.java:106)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
   at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:259)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:119)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:197)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)
11:24:17,797 DEBUG SessionImpl:573 - closing session
11:24:17,807 DEBUG SessionImpl:3336 - disconnecting session
11:24:17,807 DEBUG SessionImpl:585 - transaction completion
11:24:17,807 ERROR MethodBindingImpl:162 - Exception while invoking expression #{nasaGeneralBean.saveDocumentAction}
org.springframework.orm.hibernate.HibernateOptimisticLockingFailureException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0; nested exception is net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
   at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
   at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
   at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
   at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
   at org.springframework.orm.hibernate.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:214)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:244)
   at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:402)
   at gov.nasa.msfc.repository.submittal.model.dao.hibernate.DocumentHibernateDAOImpl.saveDocument(DocumentHibernateDAOImpl.java:105)
   at gov.nasa.msfc.repository.submittal.model.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:20)
   at gov.nasa.msfc.repository.submittal.view.bean.NasaGeneralBean.saveDocumentAction(NasaGeneralBean.java:315)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:138)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
   at javax.faces.component.UICommand.broadcast(UICommand.java:106)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
   at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:259)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:119)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:197)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)
11:24:17,807 ERROR ActionListenerImpl:73 - Error calling action method of component with id _id0:_id36
javax.faces.el.EvaluationException: Expression: #{nasaGeneralBean.saveDocumentAction}
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:164)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
   at javax.faces.component.UICommand.broadcast(UICommand.java:106)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
   at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:259)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:119)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:197)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)
Caused by: org.springframework.orm.hibernate.HibernateOptimisticLockingFailureException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0; nested exception is net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:527)
   at org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:234)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:248)
   at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:402)
   at gov.nasa.msfc.repository.submittal.model.dao.hibernate.DocumentHibernateDAOImpl.saveDocument(DocumentHibernateDAOImpl.java:105)
   at gov.nasa.msfc.repository.submittal.model.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:20)
   at gov.nasa.msfc.repository.submittal.view.bean.NasaGeneralBean.saveDocumentAction(NasaGeneralBean.java:315)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:138)
   ... 37 more
Caused by: net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
   at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
   at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
   at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
   at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
   at org.springframework.orm.hibernate.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:214)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:244)
   ... 46 more
javax.faces.el.EvaluationException: Expression: #{nasaGeneralBean.saveDocumentAction}
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:164)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
   at javax.faces.component.UICommand.broadcast(UICommand.java:106)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
   at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:259)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:119)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:197)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)
Caused by: org.springframework.orm.hibernate.HibernateOptimisticLockingFailureException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0; nested exception is net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:527)
   at org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:234)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:248)
   at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:402)
   at gov.nasa.msfc.repository.submittal.model.dao.hibernate.DocumentHibernateDAOImpl.saveDocument(DocumentHibernateDAOImpl.java:105)
   at gov.nasa.msfc.repository.submittal.model.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:20)
   at gov.nasa.msfc.repository.submittal.view.bean.NasaGeneralBean.saveDocumentAction(NasaGeneralBean.java:315)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:138)
   ... 37 more
Caused by: net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
   at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
   at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
   at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
   at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
   at org.springframework.orm.hibernate.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:214)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:244)
   ... 46 more
org.springframework.orm.hibernate.HibernateOptimisticLockingFailureException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0; nested exception is net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
   at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
   at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
   at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
   at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
   at org.springframework.orm.hibernate.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:214)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:244)
   at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:402)
   at gov.nasa.msfc.repository.submittal.model.dao.hibernate.DocumentHibernateDAOImpl.saveDocument(DocumentHibernateDAOImpl.java:105)
   at gov.nasa.msfc.repository.submittal.model.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:20)
   at gov.nasa.msfc.repository.submittal.view.bean.NasaGeneralBean.saveDocumentAction(NasaGeneralBean.java:315)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:138)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
   at javax.faces.component.UICommand.broadcast(UICommand.java:106)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
   at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:259)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:119)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:197)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)
net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral instance with identifier: 0
   at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
   at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
   at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
   at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
   at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
   at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
   at org.springframework.orm.hibernate.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:214)
   at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:244)
   at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:402)
   at gov.nasa.msfc.repository.submittal.model.dao.hibernate.DocumentHibernateDAOImpl.saveDocument(DocumentHibernateDAOImpl.java:105)
   at gov.nasa.msfc.repository.submittal.model.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:20)
   at gov.nasa.msfc.repository.submittal.view.bean.NasaGeneralBean.saveDocumentAction(NasaGeneralBean.java:315)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:138)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
   at javax.faces.component.UICommand.broadcast(UICommand.java:106)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
   at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:259)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:119)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:197)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)



Name and version of the database you are using:
Oracle 9i

The generated SQL (show_sql=true):

Code:
11:24:17,546 DEBUG SessionImpl:555 - opened session
11:24:17,546 DEBUG Cascades:341 - id unsaved-value strategy NULL
11:24:17,546 DEBUG SessionImpl:1392 - saveOrUpdate() previously saved instance with id: 0
11:24:17,546 DEBUG SessionImpl:1440 - updating [gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral#0]
11:24:17,546 DEBUG Cascades:497 - processing cascades for: gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral
11:24:17,556 DEBUG Cascades:113 - cascading to saveOrUpdate()
11:24:17,586 DEBUG SessionImpl:1387 - saveOrUpdate() unsaved instance
11:24:17,586 DEBUG BatcherImpl:200 - about to open: 0 open PreparedStatements, 0 open ResultSets
11:24:17,586 DEBUG SQL:226 - select submittal_file_seq.nextval from dual
Hibernate: select submittal_file_seq.nextval from dual
11:24:17,586 DEBUG BatcherImpl:249 - preparing statement
11:24:17,626 DEBUG SequenceGenerator:81 - Sequence identifier generated: 1
11:24:17,626 DEBUG BatcherImpl:207 - done closing: 0 open PreparedStatements, 0 open ResultSets
11:24:17,636 DEBUG BatcherImpl:269 - closing statement
11:24:17,636 DEBUG SessionImpl:778 - generated identifier: 1
11:24:17,636 DEBUG SessionImpl:825 - saving [gov.nasa.msfc.repository.submittal.model.businessobject.ImportFile#1]
11:24:17,636 DEBUG Cascades:506 - done processing cascades for: gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral
11:24:17,646 DEBUG SessionImpl:2246 - flushing session
11:24:17,646 DEBUG Cascades:497 - processing cascades for: gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral
11:24:17,646 DEBUG Cascades:113 - cascading to saveOrUpdate()
11:24:17,646 DEBUG SessionImpl:1372 - saveOrUpdate() persistent instance
11:24:17,646 DEBUG Cascades:506 - done processing cascades for: gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral
11:24:17,646 DEBUG SessionImpl:2439 - Flushing entities and processing referenced collections
11:24:17,656 DEBUG SessionImpl:2533 - Updating entity: [gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral#0]
11:24:17,656 DEBUG SessionImpl:2780 - Processing unreferenced collections
11:24:17,656 DEBUG SessionImpl:2794 - Scheduling collection removes/(re)creates/updates
11:24:17,656 DEBUG SessionImpl:2270 - Flushed: 1 insertions, 1 updates, 0 deletions to 2 objects
11:24:17,656 DEBUG SessionImpl:2275 - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
11:24:17,656 DEBUG Printer:75 - listing entities:
11:24:17,656 DEBUG Printer:82 - gov.nasa.msfc.repository.submittal.model.businessobject.ImportFile{pathname=D:\uploads\Test Document.doc, guid=01fc3d5a8ba71f5c-ae2d66-1023b18bca6--8000, size=0, name=Test Document.doc, fileId=1}
11:24:17,666 DEBUG Printer:82 - gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral{comments=, distributionCode=, user=User#1, volume=, dataProcessDocument=, title=test, responsibleOffice=IS04, file=ImportFile#1, documentId=0, releaseAuthority=Mark Faine, effectiveDate=22 February 2005, programmaticCode=, imported=false, restriction=Restriction#2, change=, revision=null, doctype=Doctype#1, recordSeries=, pages=22, dataRequestNumber=, pageSize=A, name=Test Document 1}
11:24:17,666 DEBUG SessionImpl:2359 - executing flush
11:24:17,666 DEBUG EntityPersister:453 - Inserting entity: [gov.nasa.msfc.repository.submittal.model.businessobject.ImportFile#1]
11:24:17,666 DEBUG BatcherImpl:200 - about to open: 0 open PreparedStatements, 0 open ResultSets
11:24:17,666 DEBUG SQL:226 - insert into IMPORT_FILE (GUID, NAME, PATH, FILE_SIZE, FILE_ID) values (?, ?, ?, ?, ?)
Hibernate: insert into IMPORT_FILE (GUID, NAME, PATH, FILE_SIZE, FILE_ID) values (?, ?, ?, ?, ?)
11:24:17,666 DEBUG BatcherImpl:249 - preparing statement
11:24:17,676 DEBUG EntityPersister:388 - Dehydrating entity: [gov.nasa.msfc.repository.submittal.model.businessobject.ImportFile#1]
11:24:17,676 DEBUG StringType:46 - binding '01fc3d5a8ba71f5c-ae2d66-1023b18bca6--8000' to parameter: 1
11:24:17,676 DEBUG StringType:46 - binding 'Test Document.doc' to parameter: 2
11:24:17,676 DEBUG StringType:46 - binding 'D:\uploads\Test Document.doc' to parameter: 3
11:24:17,676 DEBUG LongType:46 - binding '0' to parameter: 4
11:24:17,676 DEBUG LongType:46 - binding '1' to parameter: 5
11:24:17,686 DEBUG BatcherImpl:28 - Adding to batch
11:24:17,686 DEBUG BatcherImpl:50 - Executing batch size: 1
11:24:17,696 DEBUG BatcherImpl:58 - success of batch update unknown: 0
11:24:17,696 DEBUG BatcherImpl:207 - done closing: 0 open PreparedStatements, 0 open ResultSets
11:24:17,696 DEBUG BatcherImpl:269 - closing statement
11:24:17,706 DEBUG NormalizedEntityPersister:676 - Updating entity: [gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral#0]
11:24:17,706 DEBUG BatcherImpl:200 - about to open: 0 open PreparedStatements, 0 open ResultSets
11:24:17,706 DEBUG SQL:226 - update DOCUMENT set IS_IMPORTED=?, NAME=?, TITLE=?, FILE_ID=?, DOCTYPE_ID=?, USER_ID=?, RESTRICTION_ID=? where DOCUMENT_ID=?
Hibernate: update DOCUMENT set IS_IMPORTED=?, NAME=?, TITLE=?, FILE_ID=?, DOCTYPE_ID=?, USER_ID=?, RESTRICTION_ID=? where DOCUMENT_ID=?
11:24:17,706 DEBUG BatcherImpl:249 - preparing statement
11:24:17,706 DEBUG BatcherImpl:200 - about to open: 1 open PreparedStatements, 0 open ResultSets
11:24:17,706 DEBUG SQL:226 - update NASAGENERAL set CHANGE=?, COMMENTS=?, DATA_PROCESS_DOCUMENT=?, DATA_REQUEST_NUMBER=?, DISTRIBUTION_CODE=?, EFFECTIVE_DATE=?, PAGE_SIZE=?, PAGES=?, PROGRAMMATIC_CODE=?, RECORD_SERIES=?, RELEASE_AUTHORITY=?, RESPONSIBLE_OFFICE=?, REVISION=?, VOLUME=? where DOCUMENT_ID=?
Hibernate: update NASAGENERAL set CHANGE=?, COMMENTS=?, DATA_PROCESS_DOCUMENT=?, DATA_REQUEST_NUMBER=?, DISTRIBUTION_CODE=?, EFFECTIVE_DATE=?, PAGE_SIZE=?, PAGES=?, PROGRAMMATIC_CODE=?, RECORD_SERIES=?, RELEASE_AUTHORITY=?, RESPONSIBLE_OFFICE=?, REVISION=?, VOLUME=? where DOCUMENT_ID=?
11:24:17,716 DEBUG BatcherImpl:249 - preparing statement
11:24:17,716 DEBUG NormalizedEntityPersister:355 - Dehydrating entity: [gov.nasa.msfc.repository.submittal.model.businessobject.NasaGeneral#0]
11:24:17,716 DEBUG BooleanType:46 - binding 'false' to parameter: 1
11:24:17,716 DEBUG StringType:46 - binding 'Test Document 1' to parameter: 2
11:24:17,716 DEBUG StringType:46 - binding 'test' to parameter: 3
11:24:17,716 DEBUG LongType:46 - binding '1' to parameter: 4
11:24:17,716 DEBUG Cascades:341 - id unsaved-value strategy NULL
11:24:17,716 DEBUG LongType:46 - binding '1' to parameter: 5
11:24:17,716 DEBUG Cascades:341 - id unsaved-value strategy NULL
11:24:17,716 DEBUG LongType:46 - binding '1' to parameter: 6
11:24:17,756 DEBUG Cascades:341 - id unsaved-value strategy NULL
11:24:17,756 DEBUG LongType:46 - binding '2' to parameter: 7
11:24:17,756 DEBUG LongType:46 - binding '0' to parameter: 8
11:24:17,756 DEBUG StringType:46 - binding '' to parameter: 1
11:24:17,756 DEBUG StringType:46 - binding '' to parameter: 2
11:24:17,766 DEBUG StringType:46 - binding '' to parameter: 3
11:24:17,766 DEBUG StringType:46 - binding '' to parameter: 4
11:24:17,766 DEBUG StringType:46 - binding '' to parameter: 5
11:24:17,766 DEBUG DateType:46 - binding '22 February 2005' to parameter: 6
11:24:17,766 DEBUG StringType:46 - binding 'A' to parameter: 7
11:24:17,766 DEBUG IntegerType:46 - binding '22' to parameter: 8
11:24:17,766 DEBUG StringType:46 - binding '' to parameter: 9
11:24:17,766 DEBUG StringType:46 - binding '' to parameter: 10
11:24:17,766 DEBUG StringType:46 - binding 'Mark Faine' to parameter: 11
11:24:17,766 DEBUG StringType:46 - binding 'IS04' to parameter: 12
11:24:17,766 DEBUG StringType:41 - binding null to parameter: 13
11:24:17,766 DEBUG StringType:46 - binding '' to parameter: 14
11:24:17,766 DEBUG LongType:46 - binding '0' to parameter: 15



Debug level Hibernate log excerpt:

See Above


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 22, 2005 2:19 pm 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
change

Code:
    <id name="documentId" column="DOCUMENT_ID" unsaved-value="null">
      <generator class="sequence">
        <param name="sequence">submittal_doc_seq</param>
      </generator>
    </id>


to
Code:
   
<id name="documentId" column="DOCUMENT_ID" unsaved-value="0">
      <generator class="sequence">
        <param name="sequence">submittal_doc_seq</param>
      </generator>
    </id>


or change
Code:
private int documentId;

to
Code:
private Integer documentId;

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 22, 2005 4:24 pm 
Newbie

Joined: Mon Nov 15, 2004 1:42 pm
Posts: 11
It is already:

private Long documentId;

This is why I don't understand why it is assigning zero?


Thanks,
-Mark


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 22, 2005 5:49 pm 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
must have something in get/set pair or worst in another layer

add a breakpoint in the setter, you'll find it! ;)

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 22, 2005 7:11 pm 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
Set your unsaved-value correctly


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 23, 2005 11:32 am 
Newbie

Joined: Mon Nov 15, 2004 1:42 pm
Posts: 11
It is set to null and the field is a Long.

The problem seems to be fixed though I'm not quite sure how I fixed it.

I'm creating a new instance of Document from a DocumentBean. I populate the new Document object with values from the DocumentBean object.

For a new Document the value of DocumentBean.documentId is null so the value for the Document Obects's documentId property should also be null.

The code below is a simplified version of the what the actual code does. Before it executes DocumentBean.documentId is null but after this code executes the new Document object created has a documentId property with a value of 0.

Code:
Document doc = new Document();
...
BeanUtils.copyProperties ( doc , this );
...
this.serviceLocator.getDocumentService ().saveDocument ( doc );


doc.documentId is 0 and there is no row 0 so we get the StaleObjectStateException.


Now for the really wierd part. While reading the BeanUtils docs looking for a clue as to what was causing the problem I read something about PropertyUtils being faster if I know that no conversion is necessary. I switched the above code to PropertyUtils.copyproperties and now it works.

I have no idea why.


I have another method that clones a bean using BeanUtils.cloneBean and it throws the same StaleObjectStateException but I haven't figured out how to fix it yet.


Hopefully someone has an explanation for this.

Thanks,
-Mark


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 23, 2005 11:48 am 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
copyproperties can be evil... you must know how it is configured

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.