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 protected]> 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 protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to