如何访问Hibernate Query返回的值?

时间:2011-06-23 08:49:17

标签: java hibernate casting hql

如何从下面创建的列表中访问元素?我尝试创建一个包含String和int的类并对其进行强制转换,但它不起作用。

 List SOList = iadao.getSession().createQuery("select a.sistemOperare, count(a.sistemOperare) from User a, IstoricAfisari b, Banner c, Advertiser d where b.bannerId = c.id and c.advertiserId = d.id and b.userId = a.id group by a.sistemOperare").list();

谢谢

2 个答案:

答案 0 :(得分:3)

这会产生一个对象数组列表 - &gt; List<Object[]>

答案 1 :(得分:3)

由于createQuery(HQL).list()返回与所选字段的索引匹配的List:

List SOList = ...
for (Object obj : SOList) {
    Object[] fields = (Object[]) obj;
    System.out.println("sistemOperare = " + fields[0] + " (count = " + fields[1] + ")");
}

会打印查询结果(如果有)。根据我可以找到的hibernate文档(因为我更习惯为我想要的对象创建标准,然后使用Java)。