Hi André and Chuck, I asked my wife about invalidating the relationship cache.
She looked at me and said: “Love is grand, divorce is 100 grand” I would: 1) create a fetch specification 2) set “refreshesRefetchedObjects()” to true. 3) set up a prefetch path that traverses to the second objects. Then use the editing context to fetch. EOQualifier identityQualifier = {set this up yourself} EOFetchSpecification fetchSpec = new EOFetchSpecification(YourEO.ENTITY_NAME, identityQualifier, null /*sortOrderings*/); fetchSpec.setRefreshesRefetchedObjects(true); fetchSpec.setPrefetchingRelationshipKeyPaths(new NSArray<String>( YourEO.RELATIONSHIP_NAME.dot(OtherEO.RELATIONSHIP_NAME).key() ) ); editingContext.objectsWithFetchSpecification(fetchSpec); NOTE: Your identity qualifier might be like so: EOEntity entity = EOUtilities.entityForObject(yourEO.editingContext(), yourEO); EOKeyGlobalID globalID = (EOKeyGlobalID) eo.editingContext().globalIDForObject(eo); NSDictionary<String, Object> primaryKey = entity.primaryKeyForGlobalID(globalID); EOQualifier identityQualifier = entity.qualifierForPrimaryKey(primaryKey); profit - save yourself 100 grand. AARON ROSENZWEIG / Chat 'n Bike <http://www.chatnbike.com/> e: aa...@chatnbike.com <mailto:aa...@chatnbike.com> t: (301) 956-2319 > On Mar 5, 2018, at 2:24 PM, Chuck Hill <ch...@gevityinc.com> wrote: > > Hi André, > > Invalidating the GlobalIds won’t work. That will just refresh the objects > that you have a list of already. From your description, I think that you > want to refresh what is in list (get an updated list with inserted and > deleted rows that match the databse). This should work > ERXEOControlUtilities. clearSnapshotForRelationshipNamed(eo, " extWsProjects > "); > > Following that you many need to refault the objects in the relationship. > > > > On 2018-03-05, 8:31 AM, "Webobjects-dev on behalf of André Rothe" > <webobjects-dev-bounces+chill=gevityinc....@lists.apple.com > <mailto:webobjects-dev-bounces+chill=gevityinc....@lists.apple.com> on behalf > of andre.ro...@zks.uni-leipzig.de <mailto:andre.ro...@zks.uni-leipzig.de>> > wrote: > > Hi, > > I have an EO with a relationship to a second EO. The database in the > background will be changed by another application, so it will be > necessary to refetch the associated EOs of the relationship on every > access. > > How I can invalidate the list of the associated EOs? > > This is the generated method (EOGenerator): > > public NSArray<ExtWsProject> extWsProjects() { > // TODO: invalidate this array > return (NSArray<ExtWsProject>)storedValueForKey("extWsProjects"); > } > > On the page > > https://en.wikibooks.org/wiki/WebObjects/EOF/Using_EOF/Caching_and_Freshness > > I read something from Jesse Barnum, should I get all the ExtWsProject > objects and their GIDs to call ec.invalidateObjectsWithGlobalIDs(ids) to > make faults? > > But what about deleted rows in the database, the other application can > also delete rows, so the faults should not be necessary? > > Thanks a lot > Andre > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > > https://lists.apple.com/mailman/options/webobjects-dev/chill%40gevityinc.com > <https://lists.apple.com/mailman/options/webobjects-dev/chill%40gevityinc.com> > > This email sent to ch...@gevityinc.com <mailto:ch...@gevityinc.com> > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com > <mailto:Webobjects-dev@lists.apple.com>) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/aaron%40chatnbike.com > <https://lists.apple.com/mailman/options/webobjects-dev/aaron%40chatnbike.com> > > This email sent to aa...@chatnbike.com <mailto:aa...@chatnbike.com>
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com