On 17/11/2011, at 2:54 PM, David Avendasora wrote:

> On Nov 17, 2011, at 7:48 AM, Paul Hoadley wrote:
> 
>> On 17/11/2011, at 10:08 AM, David Avendasora wrote:
>> 
>>> On Nov 10, 2011, at 5:34 AM, Paul Hoadley wrote:
>>> 
>>>> Say I have two entities, User and Role, and a joining entity UserRole to 
>>>> create a many-to-many relationship between them.  So I have a relationship 
>>>> 'userRoles' from User to UserRole (and a relationship 'userRoles' from 
>>>> Role back to UserRole).  I flatten the relationship on User, so I also 
>>>> have a 'roles' relationship on that entity.
>>> 
>>> Wait. "Also"?!? That's insane. That's two distinct relationships 
>>> representing the same DB information, and one is hiding a huge piece of the 
>>> action. You are just asking for trouble.
>> 
>> User.userRoles is not a class property.  All that's exposed is the flattened 
>> User.roles.
> 
> Okay, then that should be alright then, and I think nullify is the proper 
> setting for the non-class "real" relationships.

(I think I've now officially confused everyone, and kind of regret starting 
this thread...)  No, you want Cascade on the non-class "real" relationships (to 
remove the row in the join table), and Nullify on the flattened relationship—as 
Chuck noted, to remove the destination object from the flattened relationship.

>> I don't _think_ I'm talking about anything particularly unusual here, just 
>> the standard result of creating a many-to-many relationship with Entity 
>> Modeler, with a join entity and "Flatten relationships" checked.
> 
> Not unusual, just something that you really shouldn't even be thinking about.

Point taken, though someone has to think about it at some point.  I thought the 
default delete rule (Nullify) was wrong.  Turns out I was incorrect.  :-)


-- 
Paul.

http://logicsquad.net/


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to