在HQL查询语句中可以调用的聚集函数:
- count():统计记录行数
- min():求最小值
- max():求最大值
- sum():求和
- avg():求平均值
例:
查询记录的行数
Long records=(Long)session.createQuery(select count(t.id) from Tabel as t)
.setMaxResults(1)//如果明确知道结果只有一条记录,这行代码可以省略否则抛出 NonUniqueResultException 异常
.uniqueResult();//结果只有一条,没必要返回List
注意聚集函数的返回类型,如果不确定,可以加以测试,例如:
Object records=session.createQuery(select count(t.id) from Tabel as t)
.setMaxResults(1)
.uniqueResult();
System.out.println(records.getClass().getName());
其他内聚函数用法请参照上述代码