>> - implement custom collections that are ObjEntity aware and "do the >> right thing" when touched. >> >> I haven't looked at the Cayenne source for quite some time now but IIRC >> the code currently does the second option above ... > > Right. They are...but this (I believe) is too easily exposed to user > code. e.g., > for (Bar relation : foo.allBars()) { > if (some condition) { > foo.removeFromAllBars(relation); // will throw exception > } > }
Err, why is this? Because you're modifying the collection you're iterating over? I'd rather fix the iterator then. -dirk