`

使用hibernate,实现group by and sum and count

阅读更多
http://blog.csdn.net/babydavic/archive/2007/11/01/1860518.aspx


   //使用hibernate,实现group by and sum and count
  Session sess = this.getSession(false);
  List list = null;
  if (sess != null) {
   Criteria cri = sess.createCriteria(getModelClass());
   cri.add(Expression.allEq(props));
   // always count id
   ProjectionList projList = Projections.projectionList();
   projList.add(Projections.sum(sum));
   projList.add(Projections.groupProperty(group1));
   projList.add(Projections.groupProperty(group2));
   projList.add(Projections.count(count));
   cri.setProjection(projList);
   list = cri.list();
  }
  list = list == null ? new ArrayList() : list;
  return list;

  //使用hibernate,实现group by and sum and count
  List listByGroupSum = dao.getListByGroupSumCP(props);
  Iterator iter = listByGroupSum.iterator();
  if (!iter.hasNext()) {
   System.out.println("No objects to display.");

  }
  while (iter.hasNext()) {
   System.out.println("New object");
   Object[] obj = (Object[]) iter.next();
   for (int i = 0; i < obj.length; i++) {
    System.out.println(obj[i]);
   }

  }
 
分享到:
评论

相关推荐

    hibernate多表联合查询

    在Hibernate中,可以使用以下几种方式来实现多表联合查询: - **HQL (Hibernate Query Language)** - **Criteria API** - **Native SQL** 本文将重点介绍如何使用HQL和Native SQL来实现多表联合查询。 #### 三、...

    Hibernate_query聚合函数查询.

    除了基本的聚合函数,Hibernate还支持分组(GROUP BY)和排序(ORDER BY)操作。通过分组,你可以对特定字段进行聚合,例如按部门统计员工人数: ```java Query query = session.createQuery( "SELECT department,...

    Hibernate进行数据查询

    HQL还支持一些内置函数,如`count`, `max`, `min`, `avg`, `sum`等,以及`GROUP BY`和`HAVING`子句进行聚合操作。 综上所述,Hibernate提供了丰富的查询功能,使开发者能够灵活地处理数据库操作,同时保持代码的...

    Hibernate-HQL-查询-Query资料

    - **聚合查询**:使用函数如COUNT、AVG、MAX、MIN、SUM进行统计计算。 - **分组查询**:根据一个或多个属性对结果进行分组。 - **排序查询**:通过ORDER BY子句对结果进行排序。 - **关联查询**:处理一对多、一...

    hibernate子查询

    总的来说,虽然Hibernate原生不支持在`from`子句中使用子查询,但通过聪明地利用`subselect`属性,我们可以绕过这个限制,将子查询转换为一个临时的持久化类,从而在HQL中实现相同的功能。这种方法不仅保持了对象...

    hibernate查询详细代码讲解

    SELECT u.country, COUNT(u) FROM User u GROUP BY u.country ORDER BY COUNT(u) DESC ``` 这条查询将按国家分组用户,并按照用户数量降序排列。 在处理关联关系时,HQL也十分灵活。可以使用JOIN关键字进行连接...

    Hibernate Query Language基础使用详解

    HQL还支持聚合函数,如`COUNT`、`MAX`、`MIN`、`AVG`和`SUM`,以及排序`ORDER BY`和分组`GROUP BY`等特性。另外,HQL也提供了`IN`、`BETWEEN`、`LIKE`等比较操作符,以及`AND`、`OR`、`NOT`逻辑运算符。 对于更高级...

    Hibernate hql查询

    query = session.createQuery("select c.country, count(c) from Customer c group by c.country"); List[]&gt; countryCounts = query.list(); ``` 这将返回每个国家的客户数量。 **7. Criteria查询** 除了HQL,...

    HQL(Hibernate Query Language):

    4. **分组和聚合**:可以使用GROUP BY和HAVING子句对查询结果进行分组和聚合操作,如COUNT(), SUM(), AVG(), MAX(), MIN()等。 5. **排序**:ORDER BY子句用于对查询结果进行排序,可以指定排序方向(ASC或DESC)。 ...

    Hibernate Tutorial 09 Hibernate Query Language

    使用 `GROUP BY` 和聚合函数如 `COUNT`、`SUM` 可以执行复杂的分组统计。 ```java Query query = session.createQuery("select count(*) from Book GROUP BY author"); List result = query.list(); ``` ## 六、...

    HibernateHql综合测试小程序

    4. **分组与聚合**:使用GROUP BY和聚合函数(COUNT, SUM, AVG, MAX, MIN),例如`select e.dept, count(e) from Employee e group by e.dept`。 5. **连接查询**:通过JOIN关键字,可以执行关联查询,例如`from ...

    Hibernate criteria基本操作

    Hibernate Criteria 是一种在Java应用程序中使用Hibernate ORM框架执行SQL查询的方式。它提供了一种面向对象的方式来构建查询,使得代码更加可读和易于维护。Criteria API 提供了多种方法来构建复杂的查询,包括添加...

    hibernate3.2 (十)HQL查询

    4. 分组:使用`group by`子句进行分组统计,例如`select gender, count(*) from User group by gender`,按性别统计用户数量。 四、HQL与SQL的映射 虽然HQL更面向对象,但仍然可以转换为SQL执行。Hibernate会自动将...

    Hibernate HQL.txt

    SELECT COUNT(o) FROM Order AS o HAVING o.priceTotal &gt;= 1200 AND o.priceTotal &lt;= 3200 GROUP BY o.id ``` 这里使用了`GROUP BY`子句进行分组,并通过`HAVING`子句过滤出符合条件的组。 ### 实际应用示例 下面...

    hibernate的hql语句

    5. **查询条件与分组**:在HQL中,可以使用`where`子句添加查询条件,`group by`用于数据分组,`order by`用于结果排序。这些与SQL中的对应关键字功能相同,但应用于对象模型。 6. **函数与操作符**:HQL支持多种...

    精通hibernate HQL语言

    String hql = "select s.sdept, count(s) from Student s group by s.sdept order by s.sdept"; List[]&gt; departmentCounts = session.createQuery(hql).list(); ``` 这里,`group by`语句用于按系别分组,`count(s)...

    HQL学习教程Hibernate入門

    使用`group by`进行分组,结合`count`, `sum`, `avg`, `max`, `min`等聚合函数,如`select department, count(*) from Employee group by department`,统计每个部门的员工数量。 6. **连接查询**: HQL支持多表...

    Hibernate之HQL查询

    HQL支持常用的聚合函数,如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`,可以用于统计和计算。例如: ```sql SELECT COUNT(s) FROM Student s WHERE s.major = '计算机科学' ``` 这个查询将返回计算机科学专业学生的数量...

    hibernate查询

    4. **分组与排序**: 使用`group by`和`order by`子句,如`select e.deptName, count(e) from Employee e group by e.deptName order by count(e) desc`按部门计数并降序排列。 5. **子查询**: 在HQL中可以嵌套查询...

    hibernate查询集合.pdf

    此外,HQL还支持更复杂的查询,如`where`子句用于添加条件,`join`用于处理关联关系,`group by`和`having`用于分组和过滤,以及`order by`用于排序。HQL的灵活性使得开发者能够以面向对象的方式处理复杂的数据库...

Global site tag (gtag.js) - Google Analytics