2011-08-05 84 views
2

我正在经历hibenate文档,发现它可以通过使用代码HQL返回地图:在HQL返回地图

select new map(max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n) 
from Cat cat 

但我无法理解当我执行查询如何获得地图并使用别名来检索每一列。

获取结果的方法是query.iterate的query.list。 如果我需要获得地图结果以及如何使用别名从地图中检索每列,可以调用哪个函数。

感谢

回答

1

在这样的情况下,我使用调试器来看看什么是真正返回。在这种情况下,查询不返回行,它只返回三个值:max,minn。所以你可以得到结果,并做类似于

resultMap.get("max"); 

因为在hql中,你告诉hibernate将max的结果标记为'max'。