我需要在不使用实体类的情况下查阅数据库的数据。
我的查询
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();
当我调试时,以对象值
获取它
但是,我无法使用这些对象,objs.get(index)
返回object
而没有任何方法可以返回我的数据total
或month
如何从查询构建对象?工作数据。
答案 0 :(得分:2)
尝试将objs.get(index)
类型转换为Object[]
。
假设结果是r
(r
用于行)。
然后,您应该可以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]);
}