On 25/10/2007, at 11:17 AM, Shagor Ghani wrote:

Have a quick question around join tables storing M2M relationships. I need to store a M2M relationship and created a table for it using Property>Join in Many-to-Many option from within EOModeler itself. This table has two columns, id1 and id2, both of which are primary and which together produce a unique record. In my code, I've been doing creating new rows into this table using the standard object.addObjectToBothSidesOfRelationshipWithKey( object, key ) call. Now, though, I also need to store additional values within this record, for example a boolean bit indicating whether the record is active or not. How is this done? If I manually add a 3rd attribute
column, what call is then used to update/create new  record(s)?

You have two choices with M2M Join tables.
A<-->>AB<<-->B

1) flatten the relationships... so that you're adding to both sides of relationship two records on either side of the join. Join records using EOGenericRecord and don't have any logic in them.

A myA = (A)EOUtilties.createAndInsertInstance(ec, "A");
B myB = (B)EOUtilties.createAndInsertInstance(ec, "B");
myA.addObjectToBothSidesOfRelationshipWithKey(myB, "bs");

2) don't flatten the relationships
A myA = (A)EOUtilties.createAndInsertInstance(ec, "A");
AB myAB = (AB)EOUtilties.createAndInsertInstance(ec, "AB");
B myB = (B)EOUtilties.createAndInsertInstance(ec, "B");

myAB.setSomeOtherKey(...);
myA.addObjectToBothSidesOfRelationshipWithKey(myAB, "abs");
myAB.addObjectToBothSidesOfRelationshipWithKey(myB, "abs");

with regards,
--

Lachlan Deck

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

This email sent to [EMAIL PROTECTED]

Reply via email to