HQL查询请教

感谢您的关注
问题是关于hql的分组统计查询遍历
表名 book
字段 bookid bookname bookkind bookmoney
//(按照图书的分类统计图书的价钱总和)
String hql="select sum(bookmoney),bookkind from Book as book group by bookkind";
Query q=session.createQuery(hql);
return q.list();
请问高手 查询后的 list 应该怎样遍历取出 对应的每一个分类的名称和分类的图书价钱总合 请详细点

[b]list里存放的是Object数组形式,第一个元素是bookMoney,第二个是bookKind,按数组取就行[/b]

[code="java"]List> list = q.list();
for(list2 : list) {
System.out.println(list2 .get(0));
System.out.println(list2 .get(1));
}[/code]

或者你可以用map的方式

String hql="select new map(sum(bookmoney),bookkind) from Book as book group by bookkind";

返回的是一个包含map的list

[code="java"]List> list = q.list();

for(Map map : list) {
System.out.println(map.get("0"));
System.out.println(map.get("1"));
}[/code]

[quote]list2是 List list2 这样的吗 [/quote]
嗷 有些地方要强制类型转换,list2应该是 List类型没错,然后list2 .get(0),get(1)也要强制类型转换

忽然发现不对, 不是list,是数组
List list = query.list();
for(Object[] objectList : list){
String bookmoney = (Integer)objectList [0];
String kind = (String)objectList[1];

System.out.println(kind + " : " +bookmoney );
}