当前位置: 首页 > 知识库问答 >
问题:

来自Hibernate的SpringMVC视图的数据

经国安
2023-03-14

我在hibernate中从查询中获取信息时遇到问题。在我的类dao中,有这样一个函数。

@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中使用c: foreach查看结果,但我只有像Ljava.lang.对象这样的结果;@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

?如何在视图中获取查询中每列的数据?

共有1个答案

丘浩宕
2023-03-14

这是因为您的查询不会返回列表

你想要这样的东西(尽管从架构上来说,在一个叫做*-DAO的类中,人们通常不会这样做!)

for (Object[] result: dataOccurences) {
  data0.add(result[0].toString() + "|" + result[1].toString() + "|" + result[2].toString());
}

 类似资料:
  • 编辑:我今天早上意识到这个异常似乎与Spring引导执行器有关,它似乎只在生产中运行,而不是在从Spring工具套件中启动prohect时运行。(请参见文章末尾的异常跟踪) 主数据库是使用jpa访问的,关于该数据库的所有内容都在一个特定的包中。 另一个数据库用于直接使用Hibernate访问遗留bean。关于那些遗留bean的一切都在一个不同的包中。 有些bean在两个包中具有相同的名称,但是由于

  • 问题内容: 我有以下控制器… 我的servlet上下文使用以下值设置… 现在,如果我转到那,我得到的视图就是userManagement.jsp,这正是我想要的… 但是,如果我转到404错误。 我看不到的是为什么会发生这种情况,因为我将requestMapping设置为与上面完全相同,并且在/ WEB-INF / views中我有一个createUser.jsp和userManagement.js

  • 问题内容: 我的数据库中有一个表,表中有一个名为boolean 的列。我想在已设置为的行中进行搜索,因此我在数据库(MySQL)中创建了一个视图。现在,我要查询此视图(名称为),而不是查询表。 我是否需要在hibernatecfg文件中为此视图添加声明?另外,是否需要创建另一个为此命名的Java类? 问题答案: Hibernate可以像对待任何表一样对待视图。只需根据该视图(如您所说)定义一个实体

  • 问题内容: 此代码将图片test.gif放入图片位值中。 我的下一个目标是显示以字节为单位保存在数据库中的图片。如何才能做到这一点 ? 问题答案: 就像是: 可能为您工作。

  • 我正在尝试保存数据透视表中多列的数据。但是,数据没有保存。下面是我正在做的事情: 表 刀片 如果我只使用checkbox来同步benefit_id和user_id,它就能工作。但如果添加额外的数据amount1和amount2,则不起作用。 控制器 事先谢谢你的帮助。

  • 我正在构建一个Android应用程序,需要从Google drive流式传输视频。视频链接是这样的:https://docs.Google.com/file/d/--id-- 我不能得到rtsp,所以它不能运行视频在videoview和它没有结束与mp4或3GP...所以我不能这样运行: Intent Intent=新的意图(Intent.action_view);Intent.SetDataAn