hi, ok, i found my problem: the collections in the classes where the realted objects are stored have to be initialised.
sorry for all the mails. jan --On Mittwoch, 5. Dezember 2001 14:33 +0100 Jan Kanzleiter <[EMAIL PROTECTED]> wrote: > hi again, > > --On Dienstag, 4. Dezember 2001 14:51 -0800 Thomas Yip <[EMAIL PROTECTED]> > wrote: >> Your version seems to be very old. Please update to the cvs version. > i did this, but the error apears again: > > java.lang.NullPointerException > at > org.exolab.castor.persist.ClassMolder.markDelete(ClassMolder.java:2353) > at org.exolab.castor.persist.LockEngine.markDelete(LockEngine.java:564) > at > org.exolab.castor.persist.TransactionContext.delete(TransactionContext.ja > va :1132) > at > org.exolab.castor.jdo.engine.DatabaseImpl.remove(DatabaseImpl.java:380) > at de.terminator.persistent.db.DbService.delete(DbService.java:185) at > de.terminator.persistent.test.Test.test(Test.java:191) > at de.terminator.persistent.test.Test.main(Test.java:52) > > on request i send you the mapping file and/or the sources. > > thanks > jan > >> -----Original Message----- >>> From: Jan Kanzleiter [mailto:[EMAIL PROTECTED]] >>> Sent: Tuesday, December 04, 2001 8:04 AM >>> To: [EMAIL PROTECTED] >>> Subject: [castor-dev] deleting objects with many-to-many-relation >>> >>> hi, >>> >>> what have i done wrong? >>> i created a mapping with many many-to-many relations. >>> if i want to delete an object with many-to-many-relation i get the >>> following exception: >>> java.lang.NullPointerException >>> at >> org.exolab.castor.persist.ClassMolder.markDelete(ClassMolder.java:2400) >>> at >> org.exolab.castor.persist.LockEngine.markDelete(LockEngine.java:548) >>> at >>> org.exolab.castor.persist.TransactionContext.delete(TransactionContext.j >>> ava :895) >>> at >> org.exolab.castor.jdo.engine.DatabaseImpl.remove(DatabaseImpl.java:379) >>> at >>> org.exolab.castor.jdo.engine.DatabaseImpl.deletePersistent(DatabaseImpl. >>> jav a:390) >>> at >>> de.terminator.persistent.db.DbService.delete(DbService.java:208) >>> at de.terminator.persistent.test.Test.test(Test.java:191) at >>> de.terminator.persistent.test.Test.main(Test.java:52) >>> >>> thank you for helping me. >>> jan >>> >>> >>> my mapping.xml: >>> >>> <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version >>> 1.0//EN" "http://castor.exolab.org/mapping.dtd"> >>> <mapping> >>> <class name="de.terminator.lg.LgTerminvorschlag" >>> identity="terminid" key-generator="MAX"> >>> <map-to table="termin" xml="terminvorschlag" /> >>> <field name="terminid" type="java.lang.Integer" > >>> <sql name="termin_id" type="integer"/> >>> <xml name="termin_id" node="element"/> >>> </field> >>> <field name="besitzer" type="de.terminator.lg.LgPerson"> >>> <sql name="mitglied_id" /> >>> <xml name="besitzer" node="element" /> >>> </field> >>> <field name="ort" type="string" > >>> <sql name="ort" type="char" dirty="check" /> >>> <xml name="ort" node="element"/> >>> </field> >>> <field name="thema" type="string"> >>> <sql name="thema" type="char" dirty="check" /> >>> <xml name="thema" node="element"/> >>> </field> >>> <field name="zustand" type="integer" > >>> <sql name="zustand" type="integer"/> >>> <xml name="zustand" node="element"/> >>> </field> >>> <field name="zeitpunkt" type="date"> >>> <sql name="zeitpunkt" type="date"/> >>> <xml name="zeitpunkt" node="element" /> >>> </field> >>> <field name="laenge" type="integer" > >>> <sql name="laenge" type="integer"/> >>> <xml name="laenge" node="element"/> >>> </field> >>> >>> <field name="mitglieder" type="de.terminator.lg.LgMitglied" >>> lazy="true" required="false" >>> collection="vector"> >>> <sql name="mitglied_id" >>> many-table="terminvorschlag_mitglied" many-key="termin_id" /> >>> <xml name="mitglied_id" node="element" /> >>> </field> >>> >>> <field name="termine" type="de.terminator.lg.LgTermin" lazy="true" >>> required="false" >>> collection="vector"> >>> <sql many-key="to_parent_termin" /> >>> <xml name="termine" node="element" /> >>> </field> >>> >>> </class> >>> >>> <class name="de.terminator.lg.LgTermin" >>> identity="terminid" key-generator="MAX"> >>> <map-to table="termin" xml="termin" /> >>> <field name="terminid" type="java.lang.Integer" > >>> <sql name="termin_id" type="integer"/> >>> <xml node="attribute"/> >>> </field> >>> <field name="besitzer" type="de.terminator.lg.LgPerson"> >>> <sql name="mitglied_id" /> >>> <xml name="besitzer" node="element" /> >>> </field> >>> <field name="zeitpunkt" type="date"> >>> <sql name="zeitpunkt" type="date"/> >>> <xml node="text" /> >>> </field> >>> <field name="laenge" type="integer" > >>> <sql name="laenge" type="integer"/> >>> <xml node="attribute"/> >>> </field> >>> >>> <field name="parenttermin" type="de.terminator.lg.LgTerminvorschlag" >>> required="true"> >>> <sql name="to_parent_termin"/> >>> <xml name="parenttermin" node="element" /> >>> </field> >>> >>> </class> >>> >>> <class name="de.terminator.lg.LgMitglied" >>> identity="mitgliedid" key-generator="MAX"> >>> <map-to table="mitglied" xml="mitglied" /> >>> <field name="mitgliedid" type="integer" > >>> <sql name="mitglied_id" type="integer"/> >>> <xml node="attribute"/> >>> </field> >>> <field name="name" type="string" > >>> <sql name="name" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="nickname" type="string" > >>> <sql name="nickname" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="publickey" type="string" > >>> <sql name="publickey" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="secretkey" type="string" > >>> <sql name="secretkey" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> >>> <field name="gruppen" type="de.terminator.lg.LgGruppe" lazy="true" >>> required="false" >>> collection="vector"> >>> <sql name="gruppe_id" >>> many-table="mitglied_gruppe" many-key="mitglied_id" /> >>> <xml name="mitglied_id" node="element" /> >>> </field> >>> <field name="terminvorschlaege" >>> type="de.terminator.lg.LgTerminvorschlag" lazy="true" required="false" >>> collection="vector"> >>> <sql name="termin_id" >>> many-table="terminvorschlag_mitglied" many-key="mitglied_id" >>> /> <xml name="termin_id" node="element" /> >>> </field> >>> >>> </class> >>> >>> <class name="de.terminator.lg.LgRaum" >>> identity="mitgliedid" key-generator="MAX"> >>> <map-to table="mitglied" xml="mitglied" /> >>> <field name="mitgliedid" type="integer" > >>> <sql name="mitglied_id" type="integer"/> >>> <xml node="attribute"/> >>> </field> >>> <field name="name" type="string" > >>> <sql name="name" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="nickname" type="string" > >>> <sql name="nickname" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="fassungsvermoegen" type="integer" > >>> <sql name="raum_fassungsvermoegen" type="integer" dirty="check" /> >>> <xml node="attribute"/> >>> </field> >>> <field name="raumnummer" type="string" > >>> <sql name="raum_nr" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="verfuegbar" type="integer" > >>> <sql name="resource_verfuegbar" type="integer" dirty="check" /> >>> <xml node="attribute"/> >>> </field> >>> <field name="beschreibung" type="string" > >>> <sql name="resource_beschreibung" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> >>> <field name="gruppen" type="de.terminator.lg.LgGruppe" lazy="true" >>> required="false" >>> collection="vector"> >>> <sql name="gruppe_id" >>> many-table="mitglied_gruppe" many-key="mitglied_id" /> >>> <xml name="mitglied_id" node="element" /> >>> </field> >>> >>> </class> >>> >>> <class name="de.terminator.lg.LgGeraet" >>> identity="mitgliedid" key-generator="MAX"> >>> <map-to table="mitglied" xml="mitglied" /> >>> <field name="mitgliedid" type="integer" > >>> <sql name="mitglied_id" type="integer"/> >>> <xml node="attribute"/> >>> </field> >>> <field name="name" type="string" > >>> <sql name="name" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="nickname" type="string" > >>> <sql name="nickname" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="verfuegbar" type="integer" > >>> <sql name="resource_verfuegbar" type="integer" dirty="check" /> >>> <xml node="attribute"/> >>> </field> >>> <field name="beschreibung" type="string" > >>> <sql name="resource_beschreibung" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> >>> <field name="gruppen" type="de.terminator.lg.LgGruppe" lazy="true" >>> required="false" >>> collection="vector"> >>> <sql name="gruppe_id" >>> many-table="mitglied_gruppe" many-key="mitglied_id" /> >>> <xml name="mitglied_id" node="element" /> >>> </field> >>> >>> </class> >>> >>> <class name="de.terminator.lg.LgPerson" >>> identity="mitgliedid" key-generator="MAX"> >>> <map-to table="mitglied" xml="mitglied" /> >>> <field name="mitgliedid" type="integer" > >>> <sql name="mitglied_id" type="integer"/> >>> <xml node="attribute"/> >>> </field> >>> <field name="name" type="string" > >>> <sql name="name" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> <field name="nickname" type="string" > >>> <sql name="nickname" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> >>> <field name="gruppen" type="de.terminator.lg.LgGruppe" lazy="true" >>> required="false" >>> collection="vector"> >>> <sql name="gruppe_id" >>> many-table="mitglied_gruppe" many-key="mitglied_id" /> >>> <xml name="mitglied_id" node="element" /> >>> </field> >>> >>> <field name="rolle" type="integer" > >>> <sql name="person_rolle" type="integer" dirty="check" /> >>> <xml node="attribute"/> >>> </field> >>> <field name="adresse" type="string" > >>> <sql name="person_adresse" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> </class> >>> >>> <class name="de.terminator.lg.LgGruppe" >>> identity="gruppeid" key-generator="MAX"> >>> <map-to table="gruppe" xml="gruppe" /> >>> <field name="gruppeid" type="java.lang.Integer" > >>> <sql name="gruppe_id" type="integer"/> >>> <xml node="attribute"/> >>> </field> >>> <field name="name" type="string" > >>> <sql name="name" type="char" dirty="check" /> >>> <xml node="text"/> >>> </field> >>> >>> <field name="mitglieder" type="de.terminator.lg.LgPerson" >>> required="false" >>> collection="vector"> >>> <sql name="mitglied_id" >>> many-table="mitglied_gruppe" many-key="gruppe_id" /> >>> <xml name="mitglied_id" node="element" /> >>> </field> >>> >>> </class> >>> >>> </mapping> > > ----------------------------------------------------------- If you wish > to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with > a subject of: > unsubscribe castor-dev > ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
