Comment regrouper et agréger avec un objet Hibernate Criteria
Dans Hibernate, l'API Criteria fournit un moyen pratique de construire des requêtes de base de données. Vous pouvez utiliser Criteria pour effectuer un large éventail d'opérations, notamment le filtrage, le tri et le regroupement.
Pour implémenter une requête SQL comme celle-ci à l'aide de Hibernate Criteria :
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name <operator> value GROUP BY column_name
Vous pouvez utiliser la méthode groupProperty() et les fonctions d'agrégation fournies par la classe Projections. Par exemple, pour trouver le maximum et la somme d'une colonne particulière pour une condition donnée, vous pouvez écrire l'objet Criteria suivant :
List result = session.createCriteria(SomeTable.class) .add(Restrictions.ge("someColumn", xxxxx)) .setProjection(Projections.projectionList() .add(Projections.groupProperty("someColumn")) .add(Projections.max("someColumn")) .add(Projections.sum("someColumn")) ).list();
Cet objet Criteria produira du SQL similaire au suivant :
SELECT some_column, MAX(some_column), SUM(some_column) FROM some_table WHERE some_column >= xxxxx GROUP BY some_column
Vous pouvez utiliser cette approche pour effectuer des opérations complexes de regroupement et d'agrégation avec Hibernate Criteria.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!