Yes, I commit the changes with myEditingContext.saveChanges().

Since this morning, I have changed the call to 
myEditingContext.invalidateAllObjects to Invalidating the Task record, using 
the method:

NSMutableArray ids = new NSMutableArray();
ids.addObject(myEditingContext.globalIDForObject(curTask));
myEditingContext.invalidateObjectsWithGlobalIDs(ids);

This again works, but  I discovered that invalidating the relationship does not 
solve the problem.  Also discovered that this is not a problem in my Oracle 
database but only using my MySQL database.  Can anyone shed any light on this?

Still, I am hoping that there is another way to solve this. I'd hate to have to 
invalidate everything every time I make a change.



On Monday, November 13, 2006, at 09:45AM, "Daniele Corti" <[EMAIL PROTECTED]> 
wrote:
>well, do you commit the database after the first call of assignedTo? I
>mean if you call yourEditingContext.saveChanges()
>
>2006/11/13, Calven Eggert <[EMAIL PROTECTED]>:
>>
>>  Hi all,
>>
>>  I have a EOEnterpriseObject, called a Task record and it has a
>> relationship, called AssignedTo, that connects to another EOEnterprise
>> record called Identity.  In my WO Application, when I assign an Identity to
>> the Task record thus creating the AssignedTo relationship, it works the
>> first time, but if I do it again immediately after, it then gives me the
>> error:
>>
>>  updateValuesInRowDescribedByQualifier --
>> com.webobjects.jdbcadaptor.JDBCChannel method failed to
>> update row in database
>>  com.webobjects.eoaccess.EOGeneralAdaptorException:
>> updateValuesInRowDescribedByQualifier --
>> com.webobjects.jdbcadaptor.JDBCChannel method failed to
>> update row in database
>>      at
>> com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContextInformationAdded(EODatabaseContext.java:4685)
>>      at
>> com.webobjects.eoaccess.EODatabaseContext.performChanges(EODatabaseContext.java:6393)
>>      at
>> com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:415)
>>
>>
>>  Just recently getting a basic understanding on how WebObjects works and
>> deals with snapshots, thanks to Chuck Hill's book "Practical WebObjects", I
>> figured that the snapshot of the Task record, or actually the relationship
>> AssignedTo, must not be updated after the first assignment is set.  After
>> putting in the line EditingContext.invalidateAllObjects(),
>> the problem went away.  I know this isn't the best way to do this.  But I
>> thought that to-one relationships were suppose to be ok and the to-many
>> needed to be babysat.  I've also tried
>> setRefreshesRefetchedObjects(True) but this didn't work, I
>> assume because I'm not actually going to the db after my save for a refetch.
>> I've also tried setDefaultTimestampLag(2) but that didn't work either.
>>
>>  Could someone please help me understand what is going on here?  Suggested
>> readings would also be greatly appreciated.
>>
>>  Thanks,
>>  Calven
>>
>>  _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/ildenae%40gmail.com
>>
>> This email sent to [EMAIL PROTECTED]
>>
>>
>
>
>-- 
>Daniele Corti
>AIM: S0CR4TE5
>Messenger: [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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to