Actually the original query should work. Calling "query.orderBy(x).orderBy(y)" 
should keep both orderings. 

>>     .orderBy(Table1.LIBELLE1.asc())
>>     .orderBy(Table2.LIBELLE2.asc()) --> dont work

Any more details what happens if you do that?

Andrus


> On Jun 24, 2019, at 12:03 PM, Maxim Petrusevich 
> <mpetrusev...@objectstyle.com> wrote:
> 
> As I know, Cayenne has ordering which uses list of orderings.
> 
> orderBy(Collection<Ordering> orderings)
> 
> You should create list with items which will have Ordering type. Something
> like this:
> 
> List<Ordering> orderings = new ArrayList<>();
> 
> orderings.add(new Ordering(attribute, sortOrder))
> ...
> 
> // attribute here, is a string which describes your attribute in "cayenne
> style" (e.g. Table1.SOME_FIELD.getName()) // sort order is a cayenne
> specified type of ordering: SortOrder.ASCENDING or SorterOrder.DESCENDING,
> see SortOrder class for details ObjectSelect.query(Table1.class)
> .prefetch(Table1.TO_TABLE2.joint()) .orderBy(orderings)
> .select(getObjectContext())
> 
> 
> On Mon, Jun 24, 2019 at 11:48 AM abapseres <abapse...@bapseres.fr> wrote:
> 
>> Hello,
>> 
>> I would like to sort query results with a prefetched table propertie, but
>> it don't work :
>> 
>> 
>> ObjectSelect.query(Table1.class)
>>     .prefetch(Table1.TO_TABLE2.joint())
>>     .orderBy(Table1.LIBELLE1.asc())
>>     .orderBy(Table2.LIBELLE2.asc()) --> dont work
>>     .select(getObjectContext())
>> 
>> 
>> Is it possible to do something like that ?
>> 
>> Thank you
>> 

Reply via email to