Did you do the check for null after the call to super? An owned, mandatory, to-one will get created automatically by EOF. I am pretty sure that is what is happening and then you are creating and assigning a second one.
Chuck From: <[email protected]> on behalf of Theodore Petrosky <[email protected]> Date: Tuesday, September 6, 2016 at 10:08 AM To: Johann Werner <[email protected]> Cc: WebObjects-Dev <[email protected]> Subject: Re: EO awake ?? I tried the first suggestion of wrapping the createSecurity in a check to see if it is null and I got the same result. then I moved the createSecurity method call into the init method and I get the same issue. I could probably trick it by making the security entity not mandatory. but as the createSecurity is in the init call, the person will always get a security. Ted On Sep 6, 2016, at 12:44 PM, Johann Werner <[email protected]<mailto:[email protected]>> wrote: Hi Ted, why not just check if there is already a value in your awakeFromInsertion? public void awakeFromInsertion(EOEditingContext editingContext) { super.awakeFromInsertion(editingContext); if (security() == null) { setSecurity(Security.createSecurity(editingContext, true, true, true, true, true)); } } But probably you should be using the init(EOEditingContext editingContext) method instead, which is highly advisable. jw Am 06.09.2016 um 18:27 schrieb Theodore Petrosky <[email protected]<mailto:[email protected]>>: I have a to one relation Person to one Security. I keep all my security booleans in entity Security. I am overriding awakeFromInsertion so that when I create a new person, it is assigned a security entity. I have a problem in migrations. I have a postupgrade method that creates a person. in this method I have: Person.createPerson(editingContext, new NSTimestamp(), "Theodore", true, "Petrosky", “pw", “user", Security.createSecurity(editingContext, true, true, true, true, true)); the security is mandatory as it should be. However on first run (to run the migrations), I end up with two security entities. Obviously, when a person is created and inserted the awake is fired and I get this orphan. How can I eliminate this extra security entity? I was hoping that I could just not add a security entity in the createPerson line, but then my app complains that security is mandatory. Person.createPerson(editingContext, new NSTimestamp(), "Theodore", true, "Petrosky", “pw", “user”, null); In the past I would have just used ERXJDBCUtilities.executeUpdate and added the admin user with manual sql. I thought I would be clever and use the postupgrade method. _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]<mailto:[email protected]>) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/chill%40gevityinc.com This email sent to [email protected]<mailto:[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]
