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 >