Just committed a fix to 3.1 and 4.0 branches: 
https://issues.apache.org/jira/browse/CAY-2084


> On May 18, 2016, at 5:27 PM, Frank Herrmann 
> <frank.herrm...@modernizingmedicine.com> wrote:
> 
> Thanks.
> 
> On Wed, May 18, 2016 at 10:25 AM, Andrus Adamchik <and...@objectstyle.org>
> wrote:
> 
>> In 4.0 we are using SelectById query that hits query cache, which I am
>> pretty sure is free of this issue.
>> 
>> Will need to investigate ObjectIdQuery behavior.
>> 
>> Andrus
>> 
>>> On May 18, 2016, at 5:22 PM, Frank Herrmann <
>> frank.herrm...@modernizingmedicine.com> wrote:
>>> 
>>> Hi Andrus,
>>> 
>>> Yes, superclass/subclass. We are using Cayenne.objectForQuery(...);
>>> 
>>> Specifically,
>>> 
>>> Cayenne.*objectForQuery*(dataContext, *new* ObjectIdQuery(oid, *false*,
>>> ObjectIdQuery.*CACHE*));
>>> 
>>> On Wed, May 18, 2016 at 10:11 AM, Andrus Adamchik <
>> and...@objectstyle.org>
>>> wrote:
>>> 
>>>>> I have a question and an observation. While reading some of the Cayenne
>>>>> code, we've noticed reference to a snapshot cache. Is this the object
>>>>> cache, or something different?
>>>> 
>>>> Correct. This is shared object cache.
>>>> 
>>>>> The issue we are seeing has to do with cayenne objects that are
>>>>> parents/children of other cayenne objects. For instance, we have a User
>>>>> object, we also have Staff and Patient objects that are children of the
>>>>> User object.
>>>> 
>>>> By parent/child you mean superclass/subclass?
>>>> 
>>>>> 
>>>>> What we have seen is that if a developer does a query for a User object
>>>> by
>>>>> id, the object is retrieved. Cayenne sees that this object is a Staff
>>>>> object and then stores it in the object cache as a Staff object. The
>> next
>>>>> time the user goes to retrieve the User object (by the same id),
>> Cayenne
>>>>> does another call to the database, because it cannot find the User
>> object
>>>>> in the cache (because it stored it as a Staff object).
>>>> 
>>>> Could be a bug. Which API are you using? Cayenne.objectForPK(..) ?
>>>> 
>>>> Andrus
>>>> 
>>>> 
>>>> 
>>>>> On May 18, 2016, at 4:31 PM, Frank Herrmann <
>>>> frank.herrm...@modernizingmedicine.com> wrote:
>>>>> 
>>>>> Hello all,
>>>>> 
>>>>> I have a question and an observation. While reading some of the Cayenne
>>>>> code, we've noticed reference to a snapshot cache. Is this the object
>>>>> cache, or something different?
>>>>> 
>>>>> The issue we are seeing has to do with cayenne objects that are
>>>>> parents/children of other cayenne objects. For instance, we have a User
>>>>> object, we also have Staff and Patient objects that are children of the
>>>>> User object.
>>>>> 
>>>>> What we have seen is that if a developer does a query for a User object
>>>> by
>>>>> id, the object is retrieved. Cayenne sees that this object is a Staff
>>>>> object and then stores it in the object cache as a Staff object. The
>> next
>>>>> time the user goes to retrieve the User object (by the same id),
>> Cayenne
>>>>> does another call to the database, because it cannot find the User
>> object
>>>>> in the cache (because it stored it as a Staff object).
>>>>> 
>>>>> Thanks again for the help.
>>>>> 
>>>>> -Frank
>>>>> 
>>>>> --
>>>>> FRANK HERRMANN
>>>>> SOFTWARE ENGINEER
>>>>> 
>>>>> T: 561-880-2998 x1563
>>>>> 
>>>>> E: frank.herrm...@modmed.com
>>>>> 
>>>>> 
>>>>> 
>>>>> [image: [ Modernizing Medicine ]] <http://www.modmed.com/>
>>>>> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine>
>>>> [image:
>>>>> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/>
>>>> [image:
>>>>> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine>
>> [image: [
>>>>> Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
>>>>> <http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
>>>>> <http://instagram.com/modernizing_medicine>
>>>> 
>>>> 
>>> 
>>> 
>>> --
>>> FRANK HERRMANN
>>> SOFTWARE ENGINEER
>>> 
>>> T: 561-880-2998 x1563
>>> 
>>> E: frank.herrm...@modmed.com
>>> 
>>> 
>>> 
>>> [image: [ Modernizing Medicine ]] <http://www.modmed.com/>
>>> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine>
>> [image:
>>> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/>
>> [image:
>>> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
>>> Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
>>> <http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
>>> <http://instagram.com/modernizing_medicine>
>> 
>> 
> 
> 
> -- 
> FRANK HERRMANN
> SOFTWARE ENGINEER
> 
> T: 561-880-2998 x1563
> 
> E: frank.herrm...@modmed.com
> 
> 
> 
> [image: [ Modernizing Medicine ]] <http://www.modmed.com/>
> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine> [image:
> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/> [image:
> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
> Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
> <http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
> <http://instagram.com/modernizing_medicine>

Reply via email to