条件を使用した Hibernate Group-By クエリ
この質問では、ユーザーは Hibernate 条件を使用した SQL クエリの実装について支援を求めています。クエリには、列に基づいた結果のグループ化、集計関数の適用、値との比較に基づいたレコードのフィルタリングが含まれます。
Hibernate Criteria を使用してこれを実現するには、ユーザーは、 Criteria オブジェクトを作成し、それを Projections クラスによって提供される関連する集計関数と組み合わせます。たとえば、次の SQL クエリについて考えてみましょう:
SELECT column_name, max(column_name), min(column_name), count(column_name) FROM table_name WHERE column_name > xxxxx GROUP BY column_name
対応する Hibernate Criteria オブジェクトは次のようになります:
List result = session.createCriteria(SomeTable.class) .add(Restrictions.gt("someColumn", xxxxx)) .setProjection(Projections.projectionList() .add(Projections.groupProperty("someColumn")) .add(Projections.max("someColumn")) .add(Projections.min("someColumn")) .add(Projections.count("someColumn"))) .list();
要約すると、projections から groupProperty() と集計関数を組み込むことで、Hibernate はCriteria オブジェクトは、複雑な group-by クエリを効率的に実行するための強力なメカニズムを提供します。
以上がHibernate で条件を使用して Group-By クエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。