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 (Webobjects-dev@lists.apple.com) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/webobjects-dev/louisdemers%40mac.com >> >> This email sent to louisdem...@mac.com > > Louis Demers eng. > www.obzerv.com > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.com > > This email sent to programming...@mac.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com