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 >>