HQL查询的聚集函数与多态查询。HQL支持的聚集函数与SQL的完全相同:avg,count,max,min,sum。
实例如下的HQL语句
select count(*) from Person
select max(p.page) from Person as p
select子句还支持字符串连接符、算术连接符,以及SQL函数。例如:
select p.name||”"||p.address from Person as p
select子句也支持使用distinct和all关键字,此时的效果与SQL的效果完全相同。
HQL多态查询介绍
HQL语句被设计成能够理解多态查询,from后跟持久化类名,不仅会查询出该持久化类的全部实例,还会查询出该类的子类的全部实例。
如下面的查询语句:from Person as p
如果Named接口有多个持久化实现类,下面的语句将返回这些持久化类的全部实例。
如下面的查询语句:from Named as n
上面最后一条查询,需要多个SQL SELECT 语句,因此无法使用order by子句对结果集排序,从而不允许对这些查询结果使用Query.scroll()方法。