Hibernate에서 Group by Criteria 객체 구현
Hibernate에서 Criteria API를 사용하면 객체를 사용하여 복잡한 쿼리를 구성하고 데이터베이스에서 데이터를 검색할 수 있습니다. 지향적인 기준. Criteria API를 사용하여 SQL 쿼리를 구현하려면 Hibernate 세션에서 createCriteria() 메서드를 사용해야 합니다.
다음과 같은 SQL 쿼리의 경우:
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name <operator> value GROUP BY column_name
groupProperty를 사용할 수 있습니다. () CriteriaQuery 클래스의 메서드를 사용하여 지정된 열을 기준으로 결과를 그룹화합니다. Projections 클래스에서 제공하는 집계 함수를 사용하여 원하는 집계 작업을 수행할 수도 있습니다.
다음은 Hibernate Criteria를 사용하여 이 쿼리를 구현할 수 있는 방법의 예입니다.
CriteriaQuery<Tuple> criteriaQuery = session.getCriteriaBuilder().createTupleQuery(); Root<SomeTable> root = criteriaQuery.from(SomeTable.class); criteriaQuery.multiselect( root.get("column_name"), Projections.max(root.<Double>get("column_name")), Projections.min(root.<Double>get("column_name")), Projections.count(root.get("column_name")) ); criteriaQuery.where( session.getCriteriaBuilder().ge(root.<Double>get("column_name"), value) ); criteriaQuery.groupBy(root.get("column_name")); List<Tuple> result = session.createQuery(criteriaQuery).getResultList();
이것은 기준 쿼리는 column_name, 최대값, 최소값 및 개수를 포함하는 튜플 목록을 반환하며, 이는 column_name별로 그룹화됩니다. 집계 함수의 유형은 집계하는 열의 유형에 따라 다릅니다.
위 내용은 Criteria API를 사용하여 Hibernate에서 GROUP BY 절을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!