3 Replies Latest reply on Apr 9, 2007 10:51 AM by Stephen Schwenker

    org.hibernate.TransientObjectException on Fork...

    Stephen Schwenker Newbie

      Hello,

      I've just started using JBPM and I'm trying to for a process to have 2 lines to run at the same time. When I try to run the process, I get the following exception. Can anyone help?

      Thank you,


      14:14:03,386 ERROR org.apache.commons.logging.impl.Log4JLogger : org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing:
      org.jbpm.graph.def.Node
      14:14:03,417 ERROR org.apache.commons.logging.impl.Log4JLogger : action threw exception: couldn't delete timers for process instance 'org.jbpm.graph.exe.ProcessInstance@1e03a61'
      org.jbpm.JbpmException: couldn't delete timers for process instance 'org.jbpm.graph.exe.ProcessInstance@1e03a61'
       at org.jbpm.db.SchedulerSession.cancelTimersForProcessInstance(SchedulerSession.java:174)
       at org.jbpm.scheduler.db.DbSchedulerService.cancelTimersByProcessInstance(DbSchedulerService.java:55)
       at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:275)
       at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:261)
       at org.jbpm.graph.exe.Token.end(Token.java:233)
       at org.jbpm.graph.exe.Token.end(Token.java:193)
       at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:265)
       at org.jbpm.graph.exe.Token.end(Token.java:233)
       at org.jbpm.graph.exe.Token.end(Token.java:193)
       at org.jbpm.graph.node.EndState.execute(EndState.java:46)
       at org.jbpm.graph.def.Node.enter(Node.java:316)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:346)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:29)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:128)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:31)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.node.Fork.execute(Fork.java:129)
       at org.jbpm.graph.def.Node.enter(Node.java:316)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:128)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:31)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.node.StartState.leave(StartState.java:70)
       at org.jbpm.graph.exe.Token.signal(Token.java:174)
       at org.jbpm.graph.exe.Token.signal(Token.java:123)
       at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:217)
       at com.thestar.gateway.JbpmGateway.submit(JbpmGateway.java:64)
       at com.thestar.schedulable.GatewaySchedulable.submitToGateway(GatewaySchedulable.java:56)
       at com.thestar.schedulable.FSGatewaySchedulable.perform(FSGatewaySchedulable.java:88)
       at com.thestar.schedulable.FTPGatewaySchedulable.perform(FTPGatewaySchedulable.java:116)
       at RunFeed.main(RunFeed.java:43)
      Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.jbpm.graph.def.Node
       at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
       at org.hibernate.type.EntityType.getIdentifier(EntityType.java:108)
       at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:242)
       at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:482)
       at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:3056)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:474)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:197)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:120)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
       at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:35)
       at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
       at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1136)
       at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
       at org.jbpm.db.SchedulerSession.cancelTimersForProcessInstance(SchedulerSession.java:169)
       ... 62 more
      14:14:03,432 ERROR org.apache.commons.logging.impl.Log4JLogger : action threw exception: null
      org.jbpm.graph.def.DelegationException
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:128)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:31)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.node.Fork.execute(Fork.java:129)
       at org.jbpm.graph.def.Node.enter(Node.java:316)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:128)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:31)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.node.StartState.leave(StartState.java:70)
       at org.jbpm.graph.exe.Token.signal(Token.java:174)
       at org.jbpm.graph.exe.Token.signal(Token.java:123)
       at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:217)
       at com.thestar.gateway.JbpmGateway.submit(JbpmGateway.java:64)
       at com.thestar.schedulable.GatewaySchedulable.submitToGateway(GatewaySchedulable.java:56)
       at com.thestar.schedulable.FSGatewaySchedulable.perform(FSGatewaySchedulable.java:88)
       at com.thestar.schedulable.FTPGatewaySchedulable.perform(FTPGatewaySchedulable.java:116)
       at RunFeed.main(RunFeed.java:43)
      Caused by: org.jbpm.JbpmException: couldn't delete timers for process instance 'org.jbpm.graph.exe.ProcessInstance@1e03a61'
       at org.jbpm.db.SchedulerSession.cancelTimersForProcessInstance(SchedulerSession.java:174)
       at org.jbpm.scheduler.db.DbSchedulerService.cancelTimersByProcessInstance(DbSchedulerService.java:55)
       at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:275)
       at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:261)
       at org.jbpm.graph.exe.Token.end(Token.java:233)
       at org.jbpm.graph.exe.Token.end(Token.java:193)
       at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:265)
       at org.jbpm.graph.exe.Token.end(Token.java:233)
       at org.jbpm.graph.exe.Token.end(Token.java:193)
       at org.jbpm.graph.node.EndState.execute(EndState.java:46)
       at org.jbpm.graph.def.Node.enter(Node.java:316)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:346)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:29)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       ... 44 more
      Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.jbpm.graph.def.Node
       at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
       at org.hibernate.type.EntityType.getIdentifier(EntityType.java:108)
       at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:242)
       at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:482)
       at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:3056)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:474)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:197)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:120)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
       at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:35)
       at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
       at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1136)
       at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
       at org.jbpm.db.SchedulerSession.cancelTimersForProcessInstance(SchedulerSession.java:169)
       ... 62 more
      14:14:03,432 ERROR org.apache.commons.logging.impl.Log4JLogger : action threw exception: null
      org.jbpm.graph.def.DelegationException
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.node.Fork.execute(Fork.java:129)
       at org.jbpm.graph.def.Node.enter(Node.java:316)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:128)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:31)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.node.StartState.leave(StartState.java:70)
       at org.jbpm.graph.exe.Token.signal(Token.java:174)
       at org.jbpm.graph.exe.Token.signal(Token.java:123)
       at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:217)
       at com.thestar.gateway.JbpmGateway.submit(JbpmGateway.java:64)
       at com.thestar.schedulable.GatewaySchedulable.submitToGateway(GatewaySchedulable.java:56)
       at com.thestar.schedulable.FSGatewaySchedulable.perform(FSGatewaySchedulable.java:88)
       at com.thestar.schedulable.FTPGatewaySchedulable.perform(FTPGatewaySchedulable.java:116)
       at RunFeed.main(RunFeed.java:43)
      Caused by: org.jbpm.graph.def.DelegationException
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
       at org.jbpm.graph.def.Node.enter(Node.java:301)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:357)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:128)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:31)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       ... 32 more
      Caused by: org.jbpm.JbpmException: couldn't delete timers for process instance 'org.jbpm.graph.exe.ProcessInstance@1e03a61'
       at org.jbpm.db.SchedulerSession.cancelTimersForProcessInstance(SchedulerSession.java:174)
       at org.jbpm.scheduler.db.DbSchedulerService.cancelTimersByProcessInstance(DbSchedulerService.java:55)
       at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:275)
       at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:261)
       at org.jbpm.graph.exe.Token.end(Token.java:233)
       at org.jbpm.graph.exe.Token.end(Token.java:193)
       at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:265)
       at org.jbpm.graph.exe.Token.end(Token.java:233)
       at org.jbpm.graph.exe.Token.end(Token.java:193)
       at org.jbpm.graph.node.EndState.execute(EndState.java:46)
       at org.jbpm.graph.def.Node.enter(Node.java:316)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:382)
       at org.jbpm.graph.def.Node.leave(Node.java:346)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
       at com.thestar.jbpm.actions.TransitionActionHandler.transition(TransitionActionHandler.java:29)
       at com.thestar.jbpm.actions.TransitionActionHandler.execute(TransitionActionHandler.java:18)
       at org.jbpm.graph.def.Action.execute(Action.java:123)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
       ... 44 more
      Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.jbpm.graph.def.Node
       at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
       at org.hibernate.type.EntityType.getIdentifier(EntityType.java:108)
       at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:242)
       at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:482)
       at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:3056)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:474)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:197)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:120)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
       at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:35)
       at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
       at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1136)
       at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
       at org.jbpm.db.SchedulerSession.cancelTimersForProcessInstance(SchedulerSession.java:169)
       ... 62 more
      org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
       at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:173)
       at org.jbpm.svc.Services.close(Services.java:211)
       at org.jbpm.JbpmContext.close(JbpmContext.java:138)
       at com.thestar.gateway.JbpmGateway.submit(JbpmGateway.java:76)
       at com.thestar.schedulable.GatewaySchedulable.submitToGateway(GatewaySchedulable.java:56)
       at com.thestar.schedulable.FSGatewaySchedulable.perform(FSGatewaySchedulable.java:88)
       at com.thestar.schedulable.FTPGatewaySchedulable.perform(FTPGatewaySchedulable.java:116)
       at RunFeed.main(RunFeed.java:43)
      Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.jbpm.graph.def.Node
       at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
       at org.hibernate.type.EntityType.getIdentifier(EntityType.java:108)
       at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:242)
       at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:482)
       at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:3056)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:474)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:197)
       at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:120)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
       at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
       at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
       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 org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:162)
       ... 7 more


        • 1. Re: org.hibernate.TransientObjectException on Fork...
          Stephen Schwenker Newbie

          Hey,

          I've looked into this a little more and noticed that the Fork executes the first branch and passes right through the Join node to the end without executing the second branch. Is there something I need to configure to have the fork and join work together?

          Here is a sample snippet of my definition.

          <fork name="fork1">
           <transition name="" to="BranchA"></transition>
           <transition name="tr2" to="BranchB"></transition>
           </fork>
           <state name="BranchA">
           <event type="node-enter">
           ...
           <action name="Transition Success" class="TransitionHandler" config-type="bean">
           <transName>success</transName>
           </action>
           </event>
           <transition name="success" to="join1"></transition>
           </state>
           <state name="BranchB">
           <event type="node-enter">
           ...
           <action name="Transition Success" class="TransitionHandler" config-type="bean">
           <transName>success</transName>
           </action>
           </event>
           <transition name="success" to="join1"></transition>
           </state>
           <join name="join1">
           <transition name="" to="Success"></transition>
           </join>
          


          I hope someone can help. :)

          Thank you,


          Steve.

          • 2. Re: org.hibernate.TransientObjectException on Fork...
            Ronald van Kuijk Master

            what happens when you give the first branche a name to?

            • 3. Re: org.hibernate.TransientObjectException on Fork...
              Stephen Schwenker Newbie

              Hey,

              I re-evaluated the logs and noticed that the second branch is executing like it should, It just wasn't doing anything because the objects in the context didn't match. I was then wondering why I was getting the error.

              I was using a JbpmContext that was connected to a postgresql database, but the ProcessInstance I was using was loaded off of the filesystem. At the end of my signal, I was calling a save operation and I guess that because the ProcessInstance doesn't exist in the database, then it failed to save it.

              Thanks for all the help. I guess I just needed to step away and take a fresh look at it.

              Thank you,


              Steve.