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