cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Object relationship freshness
Date Wed, 20 Apr 2016 07:44:37 GMT
Which reminds me that, I need to replace doc examples with SelectQuery to use ObjectSelect
:)

Andrus

> On Apr 20, 2016, at 10:42 AM, Adam Boyle <aboyle@valsphere.com> wrote:
> 
> I can confirm... prefetching is the way to go. https://cayenne.apache.org/docs/4.0/cayenne-guide/performance-tuning.html#prefetching
> 
> I was having a similar issue where my most recently committed records were not showing
up in subsequent queries. Prefetching is what fixed it for me. You can apply prefetching to
ObjectSelect as well as SelectQuery as in the docs.
> 
> ________________________________________
> From: Andrus Adamchik <andrus@objectstyle.org>
> Sent: Wednesday, April 20, 2016 2:54 AM
> To: user@cayenne.apache.org
> Subject: Re: Object relationship freshness
> 
>> *changing this to “false”
> 
> While this may solve the immediate problem, turning off shared object cache is not terribly
efficient. I would recommend against it.
> 
>>>> weirdly I see one of the
>>>> relationship queries fire again, but not the other…either way both objects
>>>> “snapshots” (EOF term) are as they were originally
> 
> If you actually see SQL in the logs that reads a relationship, it should absolutely refresh
the cache.
> 
> Generally if you don't want to-one relationships to be resolved from cache, the most
reliable approach is to use prefetching on the query that fetched the root object.
> 
> Andrus
> 
> 
> 
>> On Apr 20, 2016, at 2:07 AM, Lon Varscsak <lon.varscsak@gmail.com> wrote:
>> 
>> *changing this to “false”
>> 
>> On Tue, Apr 19, 2016 at 4:07 PM, Lon Varscsak <lon.varscsak@gmail.com>
>> wrote:
>> 
>>> It looks like I had cayenne.DataDomain.sharedCache=true in my model.
>>> Changing this to default solved my issue.  Seem reasonable?
>>> 
>>> On Tue, Apr 19, 2016 at 3:50 PM, Lon Varscsak <lon.varscsak@gmail.com>
>>> wrote:
>>> 
>>>> Hey guys,
>>>> 
>>>> I’m executing a query and then referencing the fetched object and some
>>>> relationships on the fetched object.  Later, I create a new ObjectContext
>>>> (old one is thrown away) and I issue the fetch again and I notice that the
>>>> relationship objects are not refreshed (weirdly I see one of the
>>>> relationship queries fire again, but not the other…either way both objects
>>>> “snapshots” (EOF term) are as they were originally).
>>>> 
>>>> I’m not caching any results, shouldn’t data go stale after it’s
>>>> ObjectContext is gone?
>>>> 
>>>> -Lon
>>>> 
>>> 
>>> 


Mime
View raw message