Re: Problem EOEditingContext
Re: Problem EOEditingContext
- Subject: Re: Problem EOEditingContext
- From: Hugo Cambero <email@hidden>
- Date: Thu, 12 Jul 2012 14:04:19 -0500
Thanks for your recommendation Johann Wernet
Yes, you are right, I have a problem with my model, I'll change it, and I'll seek about ERXEOControlUtilities
Regards
On Thu, Jul 12, 2012 at 1:56 PM, Johann Werner
<email@hidden> wrote:
Hi Hugo,
welcome to WO!
Am 12.07.2012 um 20:46 schrieb Hugo Cambero:
Hi Everybody
My name is Hugo, I'm from Mexico. I have been developing using WebObjects and Wonder Frameworks, I'm newbie in this topic.
Well, I have a problem, I hope you can help me. I'm developing a test application, I want to learn about EOF.
I have 2 entities, that I created using EOModel. The first entity is: User, the second is Role. The relationship between the entities is: One user
can have many Roles.
Well, I tried to insert a row using the next code:
EOEditingContext ec = ERXEC.newEditingContext();
Role userRole = Role.fetchRole( ec, Role.NAME.eq("user") ); //Get the correct Role to the new user
User newUser = new User();
don't create EOs that way, use
ERXEOControlUtilities.createAndInsertObject(ec, User.class);
newUser.setName( name.toLowerCase() );
newUser.setPaternalName( paternalName.toLowerCase() );
newUser.setMaternalName( maternalName.toLowerCase() );
newUser.setBirthday( new NSTimestamp() );
newUser.setUsername( username );
newUser.setPassword( password );
newUser.setRole( userRole ); //Set the role to the user
you said that User <-->> Role but setRole() would point to a to-one relationship. A to-many relationship should give you
user.addToRoles(role);
user.removeFromRoles(role);
so there seems to be a problem with your model or with your java classes.
ec.insertObject( newUser ); //Insert object to the EOEditingContext
ec.saveChanges(); //Commit to the DataBase
But, the server has the next error:
java.lang.RuntimeException: You crossed editing context boundaries attempting to set the 'role' relationship of <your.app.model.User pk:"null"> (which is not in an editing context) to <your.app.model.Role pk:"2"> (in EC er.extensions.eof.ERXEC@762a5241).
I understand that the primary key of the user is null, because it's a new user and I want to insert it to the data base.
What is the correct way to insert row, when it have a relationship between the entities?
Thanks for you time
_______________________________________________
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