one-to-many relationship question
Hi all, Quick question, does delete on cascade imply owns destination? Also, does checking owns destination force the insertion of the destination objects after the insertion of the source entity? I think David LeBer answered this for me once, but I forgot. Thanks. -Mike ___ 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
Re: one-to-many relationship question
This is what I know. Owns destination on a toOne relationship means every time a master record is created, a child record will also be created. The primary key of the child will be set to the primary key of the master. Cascade delete means when you delete the master record, the child record(s) will automatically be deleted as well. Paul On Sep 8, 2011, at 2:59 PM, Michael Gargano wrote: Hi all, Quick question, does delete on cascade imply owns destination? Also, does checking owns destination force the insertion of the destination objects after the insertion of the source entity? I think David LeBer answered this for me once, but I forgot. Thanks. -Mike ___ 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/pyu%40mac.com This email sent to p...@mac.com ___ 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
Re: one-to-many relationship question
Don't worry you're not losing me. :) Basically, this is what's happening I have entity A1 with single table inheritance children A2 and A3 A1 has - B1, which is also passed on to the children I'm creating a new A3 instance and a bunch of new B1 instances, I add the B1's to the A3 relationship I go to commit A3 and it tries to commit the B1's first, which explodes because of the FK constraint to A3. This isn't happening anywhere else so I'm not sure what's wrong (I'm hoping it's not just luck), but basically I'm asking if A1,A2,A3 own B1 is that the indication to EOF that B1 needs to be committed second, after a PK has been generated and committed on A3 Thanks. -Mike On Sep 8, 2011, at 3:40 PM, Philippe Rabier wrote: Michael, there are 2 distinct notions. Cascading delete is clear enough I guess. When an object A owns an object B, that means that B can't live without A. The consequence is when you remove the relationship between A and B, B will be deleted automatically (think about invoice and invoice items). Sorry, I don't understand the second question. Basically, when you create A, you must create B and link B to A as usual. I don't want to lose you but there is another case: if you have a to- one between Entity A and Entity B, if EA owns EB and you check propagate primary key, object B will be automatically created when you create object A. That's not your question but just in case… Bests, Philippe On 8 sept. 11, at 20:59, Michael Gargano wrote: Hi all, Quick question, does delete on cascade imply owns destination? Also, does checking owns destination force the insertion of the destination objects after the insertion of the source entity? I think David LeBer answered this for me once, but I forgot. Thanks. -Mike ___ 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/prabier%40me.com This email sent to prab...@me.com ___ 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
Re: one-to-many relationship question
Hi Mike, That's a different question/answer entirely (^_^) You need to order your adaptor operations if your database can not do deferred foreign key constraints. You can do order your ops with a property: com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active=true Keep in mind this cannot solve unsolvable problems like required circular relationships. To fix that requires a new choice in databases. For information regarding your model, I find the most complete resource is still Apple's old EOModeler docs. http://developer.apple.com/legacy/mac/library/#documentation/WebObjects/UsingEOModeler/Introduction/Introduction.html It's worth pointing out that if you did model this as horizontal instead of single table, you'd have FK constraint problems of a different sort. More info in the gotchas under the description of HI here: http://wiki.objectstyle.org/confluence/display/WO/Modeling+Inheritance+with+Entity+Modeler Ramsey On Sep 8, 2011, at 12:58 PM, Michael Gargano wrote: Don't worry you're not losing me. :) Basically, this is what's happening I have entity A1 with single table inheritance children A2 and A3 A1 has - B1, which is also passed on to the children I'm creating a new A3 instance and a bunch of new B1 instances, I add the B1's to the A3 relationship I go to commit A3 and it tries to commit the B1's first, which explodes because of the FK constraint to A3. This isn't happening anywhere else so I'm not sure what's wrong (I'm hoping it's not just luck), but basically I'm asking if A1,A2,A3 own B1 is that the indication to EOF that B1 needs to be committed second, after a PK has been generated and committed on A3 Thanks. -Mike On Sep 8, 2011, at 3:40 PM, Philippe Rabier wrote: Michael, there are 2 distinct notions. Cascading delete is clear enough I guess. When an object A owns an object B, that means that B can't live without A. The consequence is when you remove the relationship between A and B, B will be deleted automatically (think about invoice and invoice items). Sorry, I don't understand the second question. Basically, when you create A, you must create B and link B to A as usual. I don't want to lose you but there is another case: if you have a to- one between Entity A and Entity B, if EA owns EB and you check propagate primary key, object B will be automatically created when you create object A. That's not your question but just in case… Bests, Philippe On 8 sept. 11, at 20:59, Michael Gargano wrote: Hi all, Quick question, does delete on cascade imply owns destination? Also, does checking owns destination force the insertion of the destination objects after the insertion of the source entity? I think David LeBer answered this for me once, but I forgot. Thanks. -Mike ___ 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/prabier%40me.com This email sent to prab...@me.com ___ 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/rgurley%40smarthealth.com This email sent to rgur...@smarthealth.com ___ 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
Re: one-to-many relationship question
Hi Ramsey, Thanks! It was the deferred assignment. I had added those FKs myself (aka not using migration), I didn't realize that deferment was how assignment order was being guaranteed (or not guaranteed for that matter). Thanks again. -Mike On Sep 8, 2011, at 4:18 PM, Ramsey Gurley wrote: Hi Mike, That's a different question/answer entirely (^_^) You need to order your adaptor operations if your database can not do deferred foreign key constraints. You can do order your ops with a property: com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active=true Keep in mind this cannot solve unsolvable problems like required circular relationships. To fix that requires a new choice in databases. For information regarding your model, I find the most complete resource is still Apple's old EOModeler docs. http://developer.apple.com/legacy/mac/library/#documentation/WebObjects/UsingEOModeler/Introduction/Introduction.html It's worth pointing out that if you did model this as horizontal instead of single table, you'd have FK constraint problems of a different sort. More info in the gotchas under the description of HI here: http://wiki.objectstyle.org/confluence/display/WO/Modeling+Inheritance+with+Entity+Modeler Ramsey On Sep 8, 2011, at 12:58 PM, Michael Gargano wrote: Don't worry you're not losing me. :) Basically, this is what's happening I have entity A1 with single table inheritance children A2 and A3 A1 has - B1, which is also passed on to the children I'm creating a new A3 instance and a bunch of new B1 instances, I add the B1's to the A3 relationship I go to commit A3 and it tries to commit the B1's first, which explodes because of the FK constraint to A3. This isn't happening anywhere else so I'm not sure what's wrong (I'm hoping it's not just luck), but basically I'm asking if A1,A2,A3 own B1 is that the indication to EOF that B1 needs to be committed second, after a PK has been generated and committed on A3 Thanks. -Mike On Sep 8, 2011, at 3:40 PM, Philippe Rabier wrote: Michael, there are 2 distinct notions. Cascading delete is clear enough I guess. When an object A owns an object B, that means that B can't live without A. The consequence is when you remove the relationship between A and B, B will be deleted automatically (think about invoice and invoice items). Sorry, I don't understand the second question. Basically, when you create A, you must create B and link B to A as usual. I don't want to lose you but there is another case: if you have a to- one between Entity A and Entity B, if EA owns EB and you check propagate primary key, object B will be automatically created when you create object A. That's not your question but just in case… Bests, Philippe On 8 sept. 11, at 20:59, Michael Gargano wrote: Hi all, Quick question, does delete on cascade imply owns destination? Also, does checking owns destination force the insertion of the destination objects after the insertion of the source entity? I think David LeBer answered this for me once, but I forgot. Thanks. -Mike ___ 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/prabier%40me.com This email sent to prab...@me.com ___ 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/rgurley%40smarthealth.com This email sent to rgur...@smarthealth.com ___ 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
Re: one-to-many relationship question
This is what being described in the documentation: Owns Destination You can set a source object as owning its destination objects. When a source object owns its destination objects and you remove a destination object from the source object's relationship array, you're also deleting it from the database (alternatively, you can transfer it to a new owner). This is because ownership implies that the owned object can't exist without an owner-for example, line items can't exist outside of a purchase order. By contrast, you might have a department object that doesn't own its employee objects. If you remove an employee from a department's employees array, the employee continues to exist in the database, but its department variable is set to null (or nil in Objective-C). If you really intend to delete the employee from the database, you'd have to do it explicitly. From what it said, I think it is quite clear that the destination object will only be removed from database if owns destination is set in source object. Else you will have to do it explicitely from the code. Whereas cascade delete will remove from top-down. Delete source object will delete the destination objects altogether. Cheers Cheong Hee - Original Message - From: Paul D Yu p...@mac.com To: Michael Gargano mgarg...@escholar.com Cc: WebObjects webobjects-dev webobjects-dev@lists.apple.com Sent: Friday, September 09, 2011 3:03 AM Subject: Re: one-to-many relationship question This is what I know. Owns destination on a toOne relationship means every time a master record is created, a child record will also be created. The primary key of the child will be set to the primary key of the master. Cascade delete means when you delete the master record, the child record(s) will automatically be deleted as well. Paul On Sep 8, 2011, at 2:59 PM, Michael Gargano wrote: Hi all, Quick question, does delete on cascade imply owns destination? Also, does checking owns destination force the insertion of the destination objects after the insertion of the source entity? I think David LeBer answered this for me once, but I forgot. Thanks. -Mike ___ 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/pyu%40mac.com This email sent to p...@mac.com ___ 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/chng34%40gmail.com This email sent to chn...@gmail.com ___ 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