i have the following relation

master 1<aggregate>---------* event

Requirement.ibm.xml
<set name="events" order-by="event_id" lazy="false" outer-join="auto"
inverse="true" cascade="all-delete-orphan">
            <key foreign-key="mstr_evnt">
                <column name="master_id"/>
            </key>
            <one-to-many
class="com.wnjsoft.benesse.model.requirement.EventImpl"/>
        </set>

Event.ibm.xml
<many-to-one name="master"
class="com.wnjsoft.benesse.model.requirement.RequirementImpl"
outer-join="auto" foreign-key="evnt_mstr">
            <column name="master_id" not-null="true"/>
        </many-to-one>

i observed the following behavior when i tried to remove an event from master
master.getEvents().remove(event);
session.update(master);

1. update cascaded from master to events
2. removed event is deleted via cascade delete-orphan
3. delete is cascaded from removed event back to master (via
default-cascade=all?)
4. delete is cascaded from master to all its event children
5. exception thrown since session now is trying to update master and
the master is already deleted

it's a circular relation....why is not cascade in event's many-to-one
relation set to cascade=none, i think that should break the circle.


-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start!  http://www.idcswdc.com/cgi-bin/survey?id5hix
_______________________________________________
Andromda-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/andromda-user

Reply via email to