[英]Data for a view in SpringMVC from Hibernate
我在从休眠状态的查询中获取信息时遇到问题。 在我的班岛上,有一个这样的功能。
@SuppressWarnings("unchecked")
public List<String> getOcurrencesPerMonth(){
List<String> dataOcurrences = (List<String>) getHibernateTemplate().execute (new HibernateCallback() {
public Object doInHibernate(Session session) {
Query query = session.createQuery("select concat(year(ror.created),'/',month(ror.created)), dt.name, count(distinct ror.id) from RawOccurrenceRecord ror, DataProvider dt" +
" where ror.dataProviderId = dt.id" +
" group by month(ror.created),ror.dataProviderId");
return query.list();
}
});
ArrayList<String> dataO = new ArrayList<String>();
Iterator<String> iterator = dataOcurrences.iterator();
while (iterator.hasNext()) {
dataO.add(iterator.next());
}
return dataO;
}
我将List传递给视图,并在jsp中使用ac:forEach来查看结果,但是我只有类似Ljava.lang.Object; @ 1659f66的结果
我在MySQL中的查询是
SELECT CONCAT(YEAR(raw_occurrence_record.created),'/',MONTH(raw_occurrence_record.created)), data_provider.name, COUNT(DISTINCT raw_occurrence_record.id) FROM raw_occurrence_record, data_provider WHERE raw_occurrence_record.data_provider_id = data_provider.id GROUP BY month(raw_occurrence_record.created), raw_occurrence_record.data_provider_id;
结果就像
2012/12 | POL | 15
2013/1 | JKL | 45
2013/1 | GTK | 30
¿我如何获取视图中查询中每一列的数据?
那是因为您的查询没有返回List<String>
,而是返回了List<Object[]>
。 [Ljava.lang.Object;@65690726
是您在数组上调用toString()时得到的结果,最终JSP在尝试打印它时会这样做。
您想要这样的东西(尽管从结构上来说,通常不会在* -DAO类中做到这一点!)
for (Object[] result: dataOccurences) {
data0.add(result[0].toString() + "|" + result[1].toString() + "|" + result[2].toString());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.