Hibernate hql avg查询数据返回到list里面如何取出字段的avg值。

zendme 2015-08-26 10:18:42

public List<RunRecord> queryAvg(Collection<String> names , Date startDate,Date endDate){
List<RunRecord> rets = new ArrayList<RunRecord>();
List<RunRecord> list = new ArrayList<RunRecord>();
Session session = HibernateUtils.create();
for(String str:names){
String hql = "select avg(activePowerAvg),avg(reactivePwerAvg),max(activePowerMax) from RunRecord rr where rr.name=:name and rr.insertDate>startDate and rr.insertDate<:endDate";
Query query = session.createQuery(hql);
query.setString("name", str);
query.setTimestamp("startDate" , startDate);
query.setTimestamp("endDate" , endDate);
list = query.list();
rets = query.addAll(list);
}
HibernateUtils.closeSession(session);
return rets;
}

调用的时候我这么 写的

List<RunRecord> records = recordDao.queryAvg(names.keySet(),startTime,endTime);
for(int i=0;i<records.size();i++){
system.out.println(records.get(i))
}

返回的是一个类似对象的字符串 [Ljava.lang.Object;@10ec102 我就想得到返回list里面字段的平均值数据。求教。。。。。
...全文
520 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JYE000 2017-12-20
  • 打赏
  • 举报
回复
query.setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP);//把查出来的结果转化为Map
u010359004 2016-08-26
  • 打赏
  • 举报
回复
看到你在群里求助,给你回答一下: 查询时用: getSession().createQuery("").setResultTransformer(Transformers.aliasToBean(Bean.class)).list(); Bean为自己定义的封装你需要字段的类
  • 打赏
  • 举报
回复

for(int i=0;i<records.size();i++){
Object[] obj = (Object[])records.get(i);
system.out.println(obj[0]+obj[1]+obj[2])
}
radraycom 2016-08-22
  • 打赏
  • 举报
回复
查出来的,能得到List<RunRecord>吗。。
VIP-稻草人 2016-08-22
  • 打赏
  • 举报
回复
返回一个自定义的查询map集合,然后自己去拿数据
疯狂之程序员 2016-08-21
  • 打赏
  • 举报
回复
get(0)强转成字符串试试
zendme 2015-08-26
  • 打赏
  • 举报
回复
来人啊 求大神。。

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧