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.java
: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