cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Baldwin <>
Subject Re: Faulting Behavior with setPageSize() and Sort Ordering
Date Tue, 16 Jun 2009 17:58:31 GMT
That sounds logical.  So if I limit my sort ordering to the initial  
query then the objects in pages 2-n will remain hollow?

(I have a few instances in which there is sort ordering by the client  
(which is post query - resultset ordering).  I will have to take a  
look at this design to implement this rule better.)


On Jun 16, 2009, at 1:45 PM, Andrey Razumovsky wrote:

> The trick of paginated query is that all objects returned are  
> HOLLOW, thus
> having only identifier. Ordering.orderList will surely resolve *all*
> records, how else would it know parameters of each object. To order  
> a long
> list properly you need to set ordering to a query:
> query.setPageSize(RowsPerPage);
> query.addOrdering(order);
> List orderedResults = context.performQuery(query);
> 2009/6/16 Joe Baldwin <>
>> This is a question concerning making performance enhancements with  
>> Cayenne
>> directives.
>> Lets say you use the following SelectQuery method
>>       query.setPageSize(RowsPerPage);
>> But then you decide to sort order the result list using
>>       Ordering order = new Ordering(<entity>.<attribute>_PROPERTY,  
>> true);
>>       order.orderList(resultList);
>> If I understand the docs, then the purpose of setting the PageSize
>> parameter is to reduce the work load (and increase performance) by  
>> limiting
>> fetching to the first "RowsPerPage" amount of data-objects.
>> I am wondering whether performing a sort ordering on the resultList
>> triggers *all* the page and object faults.  If I am correct then sort
>> ordering would render setPageSize moot in this scenario.
>> Is my analysis correct or has Cayenne somehow avoided this?  (Or is  
>> there
>> another way to do sort ordering?)
>> Joe

View raw message