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]
