Hi, I didn’t know about this permanentGlobalID(), but we use primaryKeyInTransaction with success : http://jenkins.wocommunity.org/job/Wonder/javadoc/er/extensions/eof/ERXGenericRecord.html#primaryKeyInTransaction%28%29
Cheers, Alex Le 8 mai 2014 à 18:40, Jean-François Veillette <[email protected]> a écrit : > On first sight, it doesn't seem like I set another delegate. > I'll take time to investigate it further in the next few days. > > Thanks! > > Le 2014-05-08 à 11:06, Ralf Schuchardt <[email protected]> a écrit : > >> Am 08.05.2014 um 05:36 schrieb Jean-François Veillette >> <[email protected]>: >> >>> PrimaryKey obtained by permanentGlobalID() are not saved as the primaryKey >>> on saveChanges(). >>> >>> I'm setting a global id as a reference for « soft relationship » (since it >>> point to undefined object) instead of a « hard relationship » (usual when >>> we store the pk). >>> >>> The problem is that I get 2 primary key (yes 2 sequences number out of the >>> database): >>> - the first come from the call to permanentGlobalID(), wich return 7985. >>> - the next come from the save of the object itself, it ask again for a >>> sequence. >>> Result: the first reference is actually not pointing to the saved object! >>> >>> >>> Here is the code for the setter: >>> >>> public void setReference(final ERXGenericRecord ref) { >>> EOKeyGlobalID pgid = ref.permanentGlobalID(); >>> setReferenceGlobalID(ERXKeyGlobalID.globalIDForGID(pgid)); >>> // added log to debug ... >>> final EOGlobalID gid = editingContext().globalIDForObject(ref); >>> log.debug("GlobalID: " + gid + " permanent: " + pgid); >>> } >>> >>> give: >>> GlobalID: <EOTemporaryGlobalID: 0 0 127 0 0 1 0 0 -5 -116 1 0 0 0 1 69 -39 >>> 18 -94 -76 -125 18 82 -3> permanent: >>> _EOIntegralKeyGlobalID[AGA_Participant (java.lang.Integer)7985] >>> >>> It's a wonder project, all EOs (ultimately) inherit from ERXGenericRecord. >>> I'm using ERXEC default factory to get editingContext. >>> >>> From the documentation it says it is supposed to work, so I guess I have >>> something misconfigured. >> >> Do you have a special delegate set in your EODatabaseContext? The stored >> primary key (generated by primaryKeyDictionary called from >> permanentGlobalID) is used by an ERXDatabaseContextDelegate. >> ERXExtensions.bundleDidLoad normally sets an instance of this class as >> delegate. >> >> >> Ralf >> > > _______________________________________________ > 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/alexis.tual%40gmail.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]
