• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Delete rules on flattened relationships
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Delete rules on flattened relationships


  • Subject: Re: Delete rules on flattened relationships
  • From: Paul Hoadley <email@hidden>
  • Date: Thu, 17 Nov 2011 13:39:40 +1030

On 17/11/2011, at 1:21 PM, Chuck Hill 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.
>
> So User.userRoles and Role.userRoles are not class attributes, right?  They are just modelled.  User.roles and Role.users are the to-many relationships that you see in the Java code.

Correct.

>>>> Say I delete a User.  I want User.userRoles to Cascade.  And I want both UserRole.user and UserRole.role to Nullify.  And at that point, isn't the work done?  So in this case, wouldn't I want No Action on User.roles?  And hence isn't this a counter-example to your advice above?  (It may well not be—tell me if I'm wrong!)
>
> This is making my head hurt.  I have the public to-many User.roles as Nullify.

Yeah, that's what Entity Modeler will give you as the default.

> I was under the impression that you needed that to remove that User from the Role.users relationship.  But I could be wrong.  That might just be a habit.

I forced myself to sit down and write a test app.  You're completely correct.  Problem solved.

> The non-class attribute User.userRoles is set to Cascade.  The to-one relationships from UserRole to User and to Role is Nullify.

(Yeah.)

To summarise, my original question amounted to, "Do you really need to think about whether the delete rules on the flattened and the underlying relationships are consistent, couldn't you just set the flattened to No Action?"  And the answer is: "No, you really need to think about it and make sure they're consistent."

Thanks Ramsey, Dave, and Chuck.


--
Paul.

http://logicsquad.net/


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Delete rules on flattened relationships (From: Paul Hoadley <email@hidden>)
 >Re: Delete rules on flattened relationships (From: Ramsey Gurley <email@hidden>)
 >Re: Delete rules on flattened relationships (From: Paul Hoadley <email@hidden>)
 >Re: Delete rules on flattened relationships (From: Ramsey Gurley <email@hidden>)
 >Re: Delete rules on flattened relationships (From: Paul Hoadley <email@hidden>)
 >Re: Delete rules on flattened relationships (From: Chuck Hill <email@hidden>)

  • Prev by Date: Re: Maven
  • Next by Date: Re: Delete rules on flattened relationships
  • Previous by thread: Re: Delete rules on flattened relationships
  • Next by thread: Re: Delete rules on flattened relationships
  • Index(es):
    • Date
    • Thread