最近做项目碰到一个Hibernate的多字段查询时,如何接收的问题,如接收多个查询函数的结果。
问题:
HQL:
select author,count(*) from TNotice where author="admin" group by author
count(*)的值怎么接收呢?
解决方法:
传回两个以上字段时,每一次Hibernate会以Object数组的方式传回一笔数据,我们只要指定数组索引,并转换为适当的型态,即可取得数据。
List results = session.createQuery(hql).list();
for (Iterator iterator = results.Iterator(); iterator.hasNext(); ) {
Object[] rows = (Object[]) iterator.next();
String author = (String) rows[0];
Integer count = (Integer) rows[1];
}