Hola Hugo,
Bienvenido!
If you are using the EOGenerate templates for your EO classes you'll also find
this code is generated for you. For example in my _Person.java class:
public static com.wowodc.model.Person createPerson(EOEditingContext
editingContext) {
com.wowodc.model.Person eo = (com.wowodc.model.Person)
EOUtilities.createAndInsertInstance(editingContext, _Person.ENTITY_NAME);
return eo;
}
Your method to create a user then becomes User.createUser(ec);
Saludos,
David
On 2012-07-12, at 2:58 PM, Louis Demers wrote:
>
> On 2012-07-12, at 2:46 PM, Hugo Cambero wrote:
>
>> 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();
>> 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
>>
>> ec.insertObject( newUser ); //Insert
>> object to the EOEditingContext
>
> one of the WO commandments:
>
> always insert your EO immediately after creating it. i.e. after new User()
> and before setting any attributes.
>
> alternatively you can use
>
> User newUser = (User)EOUtilities.createAndInsertInstance(ec,
> User.ENTITY_NAME) ;
>
>
>
>> 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/louisdemers%40mac.com
>>
>> This email sent to [email protected]
>
> Louis Demers eng.
> www.obzerv.com
>
>
> _______________________________________________
> 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/programmingosx%40mac.com
>
> This email sent to [email protected]
_______________________________________________
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]