11.4.16. HQL の順序付けについて
クエリの結果を順序付けすることも可能です。
ORDER BY
節を使用して、結果を順序付けするために使用される選択値を指定します。order-by 節の一部として有効な式タイプには以下が含まれます。
- ステートフィールド
- コンポーネント/埋め込み可能属性
- 算術演算や関数などのスカラー式。
- 前述の式タイプのいずれかに対する select 節に宣言された ID 変数。
HQL は、order-by 節で参照されたすべての値が select 節で名付けされることを強制しませんが、JPQL では必要となります。データベースの移植性を要求するアプリケーションは、select 節で参照されない order-by 節の参照値をサポートしないデータベースがあることを認識する必要があります。
order-by の各式は、
ASC
(昇順) または DESC
(降順) で希望の順序を示し限定することができます。
例11.20 ORDER BY の例
// legal because p.name is implicitly part of p select p from Person p order by p.name select c.id, sum( o.total ) as t from Order o inner join o.customer c group by c.id order by t