orderByによるエンティティのソート
8.5 orderByによるエンティティのソート
検索された結果は、基本的にエンティティを作成した順番(通常はID番号順)に取り出されます。が、エンティティをListとして取得する際、並び順を変更したい場合もあるでしょう。こうした場合に用いられるのが、CriteriaQueryの「orderBy」メソッドです。これは以下のように呼び出します。
引数には「Order」というクラスのインスタンスを指定します。これはCriteriaBuilderにある以下のメソッドを使って取得するのが一般的です。
■昇順の Order を得る
■降順の Order を得る
引数のExpressionは、Rootのgetを使い、エンティティのプロパティを示すPathを指定するのが一般的です。 利用例を以下に示します。
これでisbnの要素について昇順に並べ替えるPredicateが設定されます。この builder.asc(root.get(○○)) といった書き方は、orderByの基本と考えておくとよいでしょう。