hibernate从查询中创建通用对象

时间:2014-01-14 23:40:49

标签: java sql hibernate

我需要在不使用实体类的情况下查阅数据库的数据。

我的查询

SELECT count(e), MONTHNAME(e.someDate)  /*and maybe anothers*/
FROM Entity e
WHERE ......    
GROUP BY MONTHNAME(e.someDate) 
ORDER BY e.someDate desc 

这个简单的查询是在几个月内搜索总数。

生成的SQL查询是正确的,此返回数据类似于此。

+-----+---------+
|count|MONTHNAME|
+-----+---------+
|15   |January  |
+-----+---------+
|31   |December |
+-----+---------+
|18   |November |
+-----+---------+

在java代码中,我通过list方法

获取查询
List<Object> objs = query.list();

当我调试时,以对象值

获取它

example

但是,我无法使用这些对象,objs.get(index)返回object而没有任何方法可以返回我的数据totalmonth

如何从查询构建对象?工作数据。

1 个答案:

答案 0 :(得分:2)

尝试将objs.get(index)类型转换为Object[]。 假设结果是rr用于行)。 然后,您应该可以r[0]r[1]访问您的两列。

试试这个。

List<Object> objs = query.list();

for (int i=0; i<objs.size(); i++){
    Object row = objs.get(i);
    Object[] r = (Object[])row;
    System.out.println(r[0] + " " + r[1]);
}