Ticket #7 (closed defect: fixed)
Fehlermeldung: Objekte wurden geaendert und Aenderung verworfen, indem keine Tranceaktion gestartet wurde
| Reported by: | a.popp@… | Owned by: | swe |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | DataAccess | Version: | 0.1.5-dev |
| Keywords: | Transaction, save | Cc: |
Description (last modified by mcw) (diff)
Ich habe aus Testzwecken ein Object geaendert und die Aenderung wurde verworfen ohne indem keine Trace-Aktion in diesem Workflow gestartet wurde.
// Beginne Transaktion
// IKbaDataAccess da = (IKbaDataAccess) UnDataAccessFactory.getInstance();
// IUnTransaction t = da.beginTransaction();
// da.save(o);
// t.commit();
Nachdem ich ein anderes Object aendern und speichern wollte habe ich die folgende Fehlermeldung erhalten:
08:56:47,807 FATAL DefaultExceptionHandler:229 - #TEST message: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: de.dvidee.kba.main.objects.AnschreibenStatus at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219) at org.hibernate.type.EntityType.getIdentifier(EntityType.java:397) at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:242) at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:563) at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:3117) at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:472) 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.ugat.dataAccess.hibernate.HibernateTransaction.commit(HibernateTransaction.java:40) at de.dvidee.kba.workflow.anschreiben.AnschrAnschriftAktualisierenWf.save(AnschrAnschriftAktualisierenWf.java:197) at de.dvidee.kba.workflow.anschreiben.AnschrAnschriftAktualisierenWf.begin(AnschrAnschriftAktualisierenWf.java:147) at org.ugat.wiser.workflow.AUnStatelessWorkflow.display(AUnStatelessWorkflow.java:24) at org.ugat.wiser.workflow.UnWorkflowController.loadWorkflow(UnWorkflowController.java:281) at org.ugat.wiser.workflow.listener.LoadWorkflowListener.execListener(LoadWorkflowListener.java:184) at org.ugat.wiser.listener.AExcepSafeListener.pcmf_execListener(AExcepSafeListener.java:18) at de.ug2t.unifiedGui.UnMenuFctWrapper.pcmf_execObj(UnMenuFunction.java:64) at de.ug2t.unifiedGui.UnMenuFunction.pcmf_execObj(UnMenuFunction.java:137) at de.ug2t.channel.ho.server.generic.HoSrvGenericContextMenu$HoContextMenuListener.pcmf_execListener(HoSrvGenericContextMenu.java:55) at de.ug2t.unifiedGui.UnComponent.pcmf_callListener(UnComponent.java:300) at de.ug2t.unifiedGui.UnComponent.pcmf_dispatchEvent(UnComponent.java:267) at de.ug2t.unifiedGui.UnEventDispatcher.pcmf_execDispatch(UnEventDispatcher.java:178) at de.ug2t.unifiedGui.UnEventDispatcher.pcmf_execDispatch(UnEventDispatcher.java:226) at de.ug2t.unifiedGui.UnEventDispatcher.pcmf_execDispatch(UnEventDispatcher.java:276) at de.ug2t.channel.ho.server.generic.HoSrvGenericApplication.pemf_work(HoSrvGenericApplication.java:660) at de.ug2t.channel.ho.server.generic.HoSrvGenericApplication.pcmf_work(HoSrvGenericApplication.java:627) at sun.reflect.GeneratedMethodAccessor314.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at de.ug2t.xmlScript.ScXmlCall.pcmf_exec(ScXmlScript.java:647) at de.ug2t.xmlScript.ScXmlProcedure.pcmf_exec(ScXmlScript.java:217) at de.ug2t.xmlScript.ScXmlScript.pcmf_execProc(ScXmlScript.java:1530) at de.ug2t.channel.ho.session.HoXmlRpcDispatcher.pcmf_execObj(HoXmlRpcDispatcher.java:54) at de.ug2t.channel.ho.session.HoTcpIpSession.pcmf_answer(HoTcpIpSession.java:472) at de.ug2t.channel.ho.session.HoTcpIpSession.run(HoTcpIpSession.java:763)
Bitte klaeren, wie das Verwerfen einer Aenderung durchzufuehren ist.
Change History
Note: See
TracTickets for help on using
tickets.
