1 対多の関係で Customer と Order の 2 つのエンティティがあります。顧客ごとに、関連する注文の数を数え、この数で結果を並べ替える必要があります。ネイティブの postgres クエリでは、次のようになります。
select cust.id, count(order.id) from customers cust
left outer join orders order
on cust.id = order.customer_id
where .... conditions ...
group by cust.id
order by count desc;
ただし、このクエリは、CriteriaBuilder を使用して追加の条件を設定する大きなコードの一部であるため、CriteriaBuilder を使用してこれを行う必要があります。Hibernate では、おそらく Projections を使用していたでしょうが、JPA では同様のものを見つけることができません。
CriteraBuilder を使用してクエリを作成する際の助けをいただければ幸いです。
前もって感謝します。