Hallo liebes Forum, ich habe ein Problem mit dem Kopieren eines Hibernateobjektes das selbst wieder einige Sets an Hibernateobjekte hat, diese wiederum haben unter Umstände wieder Sets von Hibernateobjekte.
Ich verwende die Version 3.0.5 von Hibernate.
Ich bekomme jedoch stets eine Fehlermeldung bei dem Versuch dieses Objekt zu kopieren und danach abzuspeichern.
Hier zunächst mal der Code des Kopiervorganges:
Code:
public KAK01Aufn copyAufenthalt(KAK01Aufn aufnahme) throws AufenthaltSpeicherException {
HibernateTemplate s = getHibernateTemplate();
s.merge(aufnahme);
KAK01Aufn auf = aufnahme;
//hier durchlaufe ich die Objekte damit sie auch alle geladen sind nachdem ich die KAK01Aufn ja durch s.evict entferne
auf = loadAllFromAufnahme(aufnahme, getHibernateTemplate());
s.evict(aufnahme);
aufnahme.setId(null);
Iterator kaIt = aufnahme.getKaTage().iterator();
while(kaIt.hasNext()){
KATage t = (KATage)kaIt.next();
s.evict(t);
t.setId(null);
}
Iterator diagIt = aufnahme.getKaDiag().iterator();
while(diagIt.hasNext()){
KADiagnose diag = (KADiagnose) diagIt.next();
s.evict(diag);
diag.setId(null);
}
if(auf.getKaK05Entl()!=null){
KAK05Entl entl = (aufnahme.getKaK05Entl());
Iterator koIt = entl.getKaKommentarErh().iterator();
while(koIt.hasNext()){
KAKommentarErhalten ko = (KAKommentarErhalten)koIt.next();
s.evict(ko);
ko.setId(null);
}
Iterator diIt = entl.getKaDiag().iterator();
while(diIt.hasNext()){
KADiagnose diag = (KADiagnose) diIt.next();
s.evict(diag);
diag.setId(null);
}
s.evict(entl);
entl.setId(null);
}
if(auf.getKaK01Verl()!=null){
Iterator verIt = aufnahme.getKaK01Verl().iterator();
while(verIt.hasNext()){
KAK01Verlaengerung verl = (KAK01Verlaengerung)verIt.next();
s.evict(verl);
// deleteVerlaengeungsIds(verl,s);
}
}
if(auf.getKaK13LAmb()!=null){
Iterator laIt = aufnahme.getKaK13LAmb().iterator();
while(laIt.hasNext()){
KAK13LAmb lAmp = (KAK13LAmb)laIt.next();
s.evict(lAmp);
lAmp.setId(null);
// deleteLAmbIds(lAmp,s);
}
}
if(auf.getKaKommentarErh()!=null){
Iterator koIt = aufnahme.getKaKommentarErh().iterator();
while(koIt.hasNext()){
KAKommentarErhalten ko = (KAKommentarErhalten)koIt.next();
s.evict(ko);
ko.setId(null);
}
}
if(auf.getKaKommentarExt()!=null){
Iterator keIt = aufnahme.getKaKommentarExt().iterator();
while(keIt.hasNext()){
KAKommentarExtern ko = (KAKommentarExtern)keIt.next();
s.evict(ko);
ko.setId(null);
}
}
Iterator beIt = aufnahme.getKaBeobIdZuord().iterator();
while(beIt.hasNext()){
KABeobIDZuord zuord = (KABeobIDZuord) beIt.next();
KABeobZeitraum zr = (KABeobZeitraum) zuord.getKaBeobZeitr();
Iterator zrIt = zr.getKaBeobIdZuord().iterator();
while(zrIt.hasNext()){
KABeobIDZuord zur = (KABeobIDZuord)zrIt.next();
s.evict(zr);
zur.getKaBeobZeitr().setId(null);
s.evict(zur);
zur.setId(null);
}
s.evict(zuord);
zuord.setId(null);
}
return auf;
}
Hier die Mappings mit den Relevanten Daten:
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAK01Aufn" table="KAK01AUFN" lazy="false">
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence" />
</id>
<!-- KAK01Aufn besitzt KADiagnose -->
<set name="kaDiag" cascade="save-update,merge" order-by="reihenfolge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KADiagnose" />
</set>
<!-- KAK01Aufn verursacht KAK13LAmb -->
<set name="kaK13LAmb" cascade="save-update,merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAK13LAmb" />
</set>
<!-- KAK01Aufn hat KAVze -->
<set name="kaVze" cascade="save-update,merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAVze" />
</set>
<!-- KAK01Aufn hat KAZweifelsfall -->
<set name="kaZweifelsfall" cascade="save-update,merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAZweifelsfall" />
</set>
<!-- KAK01Aufn hat KAK01Verlaengerung -->
<set name="kaK01Verl" cascade="save-update,merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAK01Verlaengerung" />
</set>
<!-- KAK01Aufn hat KAKommentarExtern -->
<set name="kaKommentarExt" cascade="save-update,merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAKommentarExtern" />
</set>
<!-- KAK01Aufn hat KAKommentarErhalten -->
<set name="kaKommentarErh" cascade="save-update, merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAKommentarErhalten" />
</set>
<!-- KAK01Aufn hat KABeobIDZuord -->
<set name="kaBeobIdZuord" cascade="save-update,merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KABeobIDZuord" />
</set>
<set name="kaTage" cascade="save-update, merge" inverse="true">
<key>
<column name="KAK01AUFN" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KATage" />
</set>
<!-- many-to-one -->
<many-to-one name="kaPat" class="at.test.bo.KAPat" cascade="save-update">
<column name="KAPAT" sql-type="number(16)" />
</many-to-one>
<many-to-one name="kaVersicherter" class="at.test.bo.KAVersicherter" cascade="save-update">
<column name="KAVERSICHERTER" sql-type="number(16)" />
</many-to-one>
<many-to-one name="kaK05Entl" class="at.test.bo.KAK05Entl" cascade="save-update">
<column name="KAK05ENTL" sql-type="number(16)" />
</many-to-one>
</class>
</hibernate-mapping>
----------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAK05Entl" table="KAK05ENTL">
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence" />
</id>
<!-- KAK05Entl hat KADiagnose -->
<set name="kaDiag" cascade="save-update" inverse="true" order-by="reihenfolge">
<key>
<column name="KAK05ENTL" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KADiagnose" />
</set>
<!-- KAK05Entl hat KAKommentarErhalten -->
<set name="kaKommentarErh" cascade="save-update" inverse="true">
<key>
<column name="KAK05ENTL" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAKommentarErhalten" />
</set>
</class>
</hibernate-mapping>
----------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAK01Verlaengerung" table="KAK01VERLAENGERUNG">
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence" />
</id>
<!-- KAK01Verlaengerung hat KAVze -->
<set name="kaVze" cascade="save-update" inverse="true">
<key>
<column name="KAK01VERLAENGERUNG" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAVze" />
</set>
<!-- KAK01Verlaengerung hat KAZweifelsfall -->
<set name="kaZweifelsfall" cascade="save-update" inverse="true">
<key>
<column name="KAK01VERLAENGERUNG" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAZweifelsfall" />
</set>
<!-- KAK01Verlaengerung hat KAKommentarExtern -->
<set name="kaKommentarExt" cascade="save-update" inverse="true">
<key>
<column name="KAK01VERLAENGERUNG" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAKommentarExtern" />
</set>
<!-- KAK01Verlaengerung hat KAKommentarErhalten -->
<set name="kaKommentarErh" cascade="save-update" inverse="true">
<key>
<column name="KAK01VERLAENGERUNG" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KAKommentarErhalten" />
</set>
<!-- many-to-one -->
<many-to-one name="kaK01Aufn" class="at.test.bo.KAK01Aufn" cascade="save-update">
<column name="KAK01AUFN" sql-type="number(16)" />
</many-to-one>
</class>
</hibernate-mapping>
----------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KADiagnose" table="KADIAGNOSE" lazy="false">
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence" />
</id>
<!-- many-to-one -->
<many-to-one name="kaK05Entl" class="at.test.bo.KAK05Entl" cascade="save-update">
<column name="KAK05ENTL" sql-type="number(16)" />
</many-to-one>
<!-- many-to-one -->
<many-to-one name="kaK01Aufn" class="at.test.bo.KAK01Aufn" cascade="save-update">
<column name="KADIAG" sql-type="number(16)" />
</many-to-one>
<!-- many-to-one -->
<many-to-one name="kaK13LAmb" class="at.test.bo.KAK13LAmb" cascade="save-update">
<column name="KAK13LAMB" sql-type="number(16)" />
</many-to-one>
</class>
</hibernate-mapping>
---------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KABeobZeitraum" table="KABEOBZEITRAUM">
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence" />
</id>
<!-- KABeobZeitraum hat KABeobIDZuord -->
<set name="kaBeobIdZuord" cascade="save-update" inverse="true">
<key>
<column name="KABEOBZEITRAUM" sql-type="number(16)" />
</key>
<one-to-many class="at.test.bo.KABeobIDZuord" />
</set>
<!-- many-to-one -->
<many-to-one name="kaPat" class="at.test.bo.KAPat" cascade="save-update">
<column name="KAPAT" sql-type="number(16)" />
</many-to-one>
</class>
</hibernate-mapping>
----------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KABeobIDZuord"
table="KABEOBIDZUORD" lazy="false">
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence"/>
</id>
<!-- many-to-one -->
<many-to-one
name="kaBeobZeitr"
class="at.test.bo.KABeobZeitraum"
cascade="save-update"
>
<column name="KABEOBZEITR" sql-type="number(16)"/>
</many-to-one>
<!-- many-to-one -->
<many-to-one
name="kaK01Aufn"
class="at.test.bo.KAK01Aufn"
cascade="save-update"
>
<column name="KAK01AUFN" sql-type="number(16)"/>
</many-to-one>
</class>
</hibernate-mapping>
--------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAAmbLeistung"
table="KAAMBLEISTUNG" >
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence"/>
</id>
<!-- many-to-one -->
<many-to-one
name="kaK13Lamb"
class="at.test.bo.KAK13LAmb"
>
<column name="KAK13LAMB" sql-type="number(16)"/>
</many-to-one>
</class>
</hibernate-mapping>
---------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAVze"
table="KAVZE" >
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence"/>
</id>
<!-- KAVze hat KAKommentarExtern -->
<set name="kaKommentarExt" cascade="save-update" inverse="true">
<key>
<column name="KAVZE" sql-type="number(16)"/>
</key>
<one-to-many class="at.test.bo.KAKommentarExtern"/>
</set>
<!-- many-to-one -->
<many-to-one
name="kaK01Verl"
class="at.test.bo.KAK01Verlaengerung"
cascade="save-update"
>
<column name="KAK01VERL"/>
</many-to-one>
<!-- many-to-one -->
<many-to-one
name="kaK01Aufn"
class="at.test.bo.KAK01Aufn"
cascade="save-update"
>
<column name="KAK01AUFN"/>
</many-to-one>
</class>
</hibernate-mapping>
----------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KATage"
table="KATAGE" >
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence"/>
</id>
<many-to-one
name="kaK01Aufn"
class="at.test.bo.KAK01Aufn"
cascade="save-update"
>
<column name="KAK01AUFN" sql-type="number(16)"/>
</many-to-one>
</class>
</hibernate-mapping>
----------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAKommentarExtern"
table="KAKOMMENTAREXTERN" >
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence"/>
</id>
<!-- many-to-one -->
<many-to-one
name="kaK01Aufn"
class="at.test.bo.KAK01Aufn"
>
<column name="KAK01AUFN" sql-type="number(16)"/>
</many-to-one>
<!-- many-to-one -->
<many-to-one
name="kaK01Verl"
class="at.test.bo.KAK01Verlaengerung"
>
<column name="KAK01VERL" sql-type="number(16)"/>
</many-to-one>
<!-- many-to-one -->
<many-to-one
name="kaVze"
class="at.test.bo.KAVze"
>
<column name="KAVZE" sql-type="number(16)"/>
</many-to-one>
</class>
</hibernate-mapping>
-------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAKommentarErhalten"
table="KAKOMMENTARERHALTEN" >
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence"/>
</id>
<!-- many-to-one -->
<many-to-one
name="kaK01Aufn"
class="at.test.bo.KAK01Aufn"
>
<column name="KAK01AUFN" sql-type="number(16)"/>
</many-to-one>
<!-- many-to-one -->
<many-to-one
name="kaK01Verl"
class="at.test.bo.KAK01Verlaengerung"
>
<column name="KAK01VERL" sql-type="number(16)"/>
</many-to-one>
<!-- many-to-one -->
<many-to-one
name="kaK05Entl"
class="at.test.bo.KAK05Entl"
>
<column name="KAK05ENTL" sql-type="number(16)"/>
</many-to-one>
<!-- many-to-one -->
<many-to-one
name="kak13Lamb"
class="at.test.bo.KAK13LAmb"
>
<column name="KAK13LAMB" sql-type="number(16)"/>
</many-to-one>
</class>
</hibernate-mapping>
--------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.test.bo">
<class name="at.test.bo.KAK13LAmb"
table="KAK13LAMB" >
<id name="id" unsaved-value="0">
<!-- Unique Attribut id -->
<column name="ID" length="16" sql-type="number(16)" />
<generator class="sequence"/>
</id>
<!-- KAK13LAmb hat KAAmbLeistung -->
<set name="kaAmbLeist" >
<key>
<column name="KAK13LAMB" sql-type="number(16)"/>
</key>
<one-to-many class="at.test.bo.KAAmbLeistung"/>
</set>
<!-- KAK13LAmb hat KADiagnose -->
<set name="kaDiag" order-by="reihenfolge">
<key>
<column name="KAK13LAMB" sql-type="number(16)"/>
</key>
<one-to-many class="at.test.bo.KADiagnose"/>
</set>
<!-- KAK13LAmb hat KAKommentarErhalten -->
<set name="kaKommentarErh" >
<key>
<column name="KAK13LAMB" sql-type="number(16)"/>
</key>
<one-to-many class="at.test.bo.KAKommentarErhalten"/>
</set>
<!-- many-to-one -->
<many-to-one
name="kaK01Aufn"
class="at.test.bo.KAK01Aufn"
>
<column name="KAK01AUFN" sql-type="number(16)"/>
</many-to-one>
</class>
</hibernate-mapping>
Und natürlich auch die GANZE Fehlermeldung:
Code:
08:53:46,703 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: null identifier
at org.hibernate.engine.EntityKey.<init>(EntityKey.java:33)
at org.hibernate.engine.PersistenceContext.reassociateProxy(PersistenceContext.java:518)
at org.hibernate.engine.PersistenceContext.unproxyAndReassociate(PersistenceContext.java:565)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:65)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:468)
at org.hibernate.engine.Cascades$5.cascade(Cascades.java:154)
at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:771)
at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
at org.hibernate.engine.Cascades.cascade(Cascades.java:847)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:332)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:214)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:184)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:173)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:69)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:481)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:476)
at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:555)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:315)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:552)
at at.sozvers.svb.lkf.dao.hibernate.AbstractHibernateDAO.save(AbstractHibernateDAO.java:85)
at at.sozvers.svb.lkf.dao.hibernate.SuchenBearbeitenHibernateDAO.saveAufenthalt(SuchenBearbeitenHibernateDAO.java:406)
at at.sozvers.svb.lkf.service.impl.SuchenBearbeitenServiceImpl.speicherKorrekturDaten(SuchenBearbeitenServiceImpl.java:196)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy79.speicherKorrekturDaten(Unknown Source)
at at.sozvers.svb.lkf.struts.action.BearbeitenSuchAction.speicherKorrektur(BearbeitenSuchAction.java:1088)
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.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
at org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:162)
at at.sozvers.svb.lkf.struts.action.AbstractLookupDispatchAction.execute(AbstractLookupDispatchAction.java:57)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at at.sozvers.svb.jave.filter.JaveFilter.doFilter(JaveFilter.java:143)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:392)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:534)
08:53:47,359 WARN [RequestProcessor] Unhandled Exception thrown: class at.sozvers.svb.dao.hibernate.UnexpectedDataAccessException
08:53:47,359 ERROR [[controller]] Servlet.service() for servlet controller threw exception
at.sozvers.svb.dao.hibernate.UnexpectedDataAccessException: unexpected exception: null identifier; nested exception is org.hibernate.AssertionFailure: null identifier
org.hibernate.AssertionFailure: null identifier
at org.hibernate.engine.EntityKey.<init>(EntityKey.java:33)
at org.hibernate.engine.PersistenceContext.reassociateProxy(PersistenceContext.java:518)
at org.hibernate.engine.PersistenceContext.unproxyAndReassociate(PersistenceContext.java:565)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:65)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:468)
at org.hibernate.engine.Cascades$5.cascade(Cascades.java:154)
at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:771)
at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
at org.hibernate.engine.Cascades.cascade(Cascades.java:847)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:332)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:214)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:184)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:173)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:69)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:481)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:476)
at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:555)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:315)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:552)
at at.sozvers.svb.lkf.dao.hibernate.AbstractHibernateDAO.save(AbstractHibernateDAO.java:85)
at at.sozvers.svb.lkf.dao.hibernate.SuchenBearbeitenHibernateDAO.saveAufenthalt(SuchenBearbeitenHibernateDAO.java:406)
at at.sozvers.svb.lkf.service.impl.SuchenBearbeitenServiceImpl.speicherKorrekturDaten(SuchenBearbeitenServiceImpl.java:196)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy79.speicherKorrekturDaten(Unknown Source)
at at.sozvers.svb.lkf.struts.action.BearbeitenSuchAction.speicherKorrektur(BearbeitenSuchAction.java:1088)
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.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
at org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:162)
at at.sozvers.svb.lkf.struts.action.AbstractLookupDispatchAction.execute(AbstractLookupDispatchAction.java:57)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at at.sozvers.svb.jave.filter.JaveFilter.doFilter(JaveFilter.java:143)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:392)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:534)
Über Hilfe wäre ich sehr sehr dankbar.
Danke.