Re: Many-to-many across ECs
Re: Many-to-many across ECs
- Subject: Re: Many-to-many across ECs
- From: Drew Thoeni <email@hidden>
- Date: Sun, 6 Feb 2005 12:17:28 -0500
Travis, Thanks. I'm a bit of a newbie and was trying to experiment with
saving server resources by using the sharedEC at the app level. I think
I got myself in deeper than I can handle. I've move these "change
seldom" tables back to the defaultEC and it works fine. I'll look at
optimizing my application once I get a bit more experience.
Regards,
Drew
On Feb 6, 2005, at 11:06 AM, Travis Britt wrote:
On Feb 6, 2005, at 9:23 AM, Drew Thoeni wrote:
I have a many-to-many (students-to-classes) and I have the class list
placed into an EC at the application level (since it's established,
read-only, and shared by all users).
[...]
The code I'm using is below (where aClass is in the application EC)
aClass.addObjectToBothSidesOfRelationshipWithKey(session.currentStuden
t, "students");
Both the objects need to be in the same regular editing context.
I'm guessing by application EC you mean an EOSharedEditingContext? If
you're adding an object to a aClass's relationship then it isn't read
only. Top-of-the-head code for putting aClass in a regular editing
context:
regEC = new EOEditingContext();
regEC.lock();
try {
regEC.setSharedEditingContext(null);
EOUtilities.localInstanceOfObject(regEC, aClass);
// Do stuff
} finally {
regEC.unlock();
}
Note that it is generally a bad idea to have a relationship from a
shared object to non-shared objects. When faults for that relationship
are fired the non-shared objects end up in the shared editing context.
You can remove those relationships from the model. Or, ahem, assume
that all objects are shared (or check their EC at runtime).
Regardless, some planning is required. The easiest way to go is to use
the shared context for objects that are read-mostly for the duration
of the app instance and don't have relationships to objects you don't
expect to be shared. Except for simple cases (objects that represent
city names or zip codes -- something generally unchanging and
isolated) I tend to think of the shared context as an optimization and
don't use it unless the app's performance requires it.
tb
_______________________________________________
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
_______________________________________________
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