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]

Reply via email to