cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikos Paraschou <nipar...@gmail.com>
Subject Re: Question about Caching.
Date Tue, 21 Apr 2009 11:49:21 GMT
Στις 21-04-2009, ημέρα Τρι, και ώρα 13:58 +0300, ο/η Andrus Adamchik
έγραψε:
> Yes, this is normal. Altering parameters changes the query, so in two  
> case you end up with two different queries behind the scenes, each  
> cached separately.

It is clear now. Thank you for helping.

Nikos


> 
> Andrus
> 
> 
> On Apr 21, 2009, at 1:50 PM, Nikos Paraschou wrote:
> > Στις 21-04-2009, ημέρα Τρι, και ώρα 13:21 +0300, ο/ 
> > η Andrus Adamchik
> > έγραψε:
> >>> Shouldn't it first look in cache?
> >>
> >>
> >> Yes it should. Are you using the same set of parameters in both  
> >> cases?
> >
> > In the first case I am just calling the query "selectVehicles" which  
> > is
> > stored in DataMap without defining any parameters. All vehicles are
> > returned.
> >
> > In the second case I want to retrieve a specific vehicle so I define  
> > the
> > parameter plate
> >
> > params.put("plate", "koz-6657") and call
> >
> > performQuery("selectVehicles", params, false);
> >
> > The second call doesn't retrieve the requested vehicle from the cache
> > but instead, it sends a query to the DB.
> >
> > Why is this happening? Is it normal?
> >
> >
> >> And also which version of Cayenne is this?
> >
> > I am using Cayenne 2.0.4.
> >
> >>
> >> Andrus
> >>
> >>
> >> On Apr 21, 2009, at 12:28 PM, Nikos Paraschou wrote:
> >>
> >>> Hello,
> >>>
> >>> I created an Object Select Query in the Modeller which selects *  
> >>> from
> >>> table Vehicles. The query has a qualifier (plate = $plate). In  
> >>> Result
> >>> Caching I selected Shared Cache and unchecked the checkbox Refresh
> >>> Results.
> >>>
> >>> I wrote the following code:
> >>>
> >>>       Map params = new HashMap();
> >>>       params.put("plate", "koz-6657");
> >>>
> >>>       List allVehicles = context.performQuery("selectVehicles",
> >>> false);
> >>>       List specificVehicle = context.performQuery("selectVehicles",
> >>> params, false);
> >>>
> >>> I noticed that the first call of performQuery stores the retrieved
> >>> Vehicle Objects in cache.
> >>> But the second call, instead of getting the specific vehicle from
> >>> cache
> >>> it sends a query to the database.
> >>>
> >>> Why is this happening? Shouldn't it first look in cache?
> >>>
> >>> Thank you,
> >>> Nikos Paraschou
> >>>
> >>>
> >>
> >
> >
> 


Mime
View raw message