[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [eclipselink-dev] Cascade Deletes through ManyToMany | 
One of the outstanding cascade delete support issues is with ManyToMany 
relationships like Employee-> Project.
The delete in this case fails when constraints are present because the 
Project is deleted before Employee.  We attempt to delete in this order 
because there is no dependency calculated on ManyToMany relationships so 
EclipseLink will use the reverse alphabetically order of the classes and 
delete project first.  Deleting Project first results in constraint 
violations on the relationship table.
This issue exists beyond cascade delete as even if the user deleted the 
two object manually the constraint violation would still occur.
The easiest solution is to simply report the dependency on writable 
ManyToMany mappings but this may break previous applications that were 
dependent on the pseudo random ordering that EclipseLink used previously 
(some of our testing breaks).
Special code could be added to update the collection on cascade remove 
but there's no guarantee that the update may not be optimized out at 
some later date and it does not solve this issue when cascade delete is 
not used or JPA is not used.
I recommend we update the dependency.
--Gordon