Perfect!!! Thx Meex

Andrus Adamchik <[email protected]> schrieb am Do., 9. März 2017 um
07:20 Uhr:

> You can store those values in each DataObject instance variables and map a
> PostLoad callback on the entity (Modeler > Select ObjEntity in question >
> Select "Callbacks" tab). In the callback method you can reset the values.
> More info on callbacks:
>
> http://cayenne.apache.org/docs/4.0/cayenne-guide/lifecycle-events.html
>
> Andrus
>
>
> > On Mar 8, 2017, at 10:31 PM, Markus Reich <[email protected]>
> wrote:
> >
> > Hi Andrus,
> >
> > I have some getters in DataObjects that use some DB properties for
> > calculation, e.g. I read other data from DB and to kind of lookups, so I
> > got a much better performance when I introtuced a caching of this
> > calculated values. I just use a concurrent hash map to realize the
> caching.
> > Now I need a trigger for invalidation of the cached values, when the
> > DataObject itself get's invalidated?
> >
> > regards
> > Meex
> >
> > Andrus Adamchik <[email protected]> schrieb am Mi., 8. März 2017 um
> > 20:24 Uhr:
> >
> >> Hi Markus,
> >>
> >> Snapshot version reflects the version of a cached snapshot that was used
> >> to sync the current state of the object (this is probably obvious). The
> >> behavior observed by you may actually be a bug (and we may need to
> >> investigate it).
> >>
> >> Generally I would recommend against relying too much on snapshot version
> >> API. I always considered it an implementation detail (though of course
> it
> >> is publicly accessible... oh well) that may easily fall victim of a
> future
> >> DataObject redesign (e.g. see the parallel 'Fetching lots of objects'
> >> thread).
> >>
> >> Can you explain how your cache is intended to work? Perhaps there is a
> >> callback/listener solution to it?
> >>
> >> Andrus
> >>
> >>> On Mar 6, 2017, at 5:04 PM, Markus Reich <[email protected]>
> >> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I always thought that when the content of an object changes (by commit)
> >> the
> >>> version gets incremented. I analyzed this a bit further and found sthg.
> >>> which is very clear for me :-/
> >>>
> >>> When I have two DataObjects with the same key/id and I change a value
> in
> >>> one Object, I got a higher version after committing the changes. The
> >> other
> >>> DataObjects also "gets" the new value, but the snapshot version stays
> the
> >>> same?
> >>>
> >>> The background is that I try to build a cache on computed values of
> >>> DataObjects, so I need an indicator for invalidating my cache, I
> thought
> >>> snapshot version would be perfect :-) but so it seems that this won't
> >> work
> >>> for my idea :-/
> >>>
> >>> best regards
> >>> Meex
> >>
> >>
>
>

Reply via email to