Hibernate中关于HQL查询返回List<Object>数据的结果集问题
---恢复内容开始---
开发中遇到的一个小问题,使用Hibernate中的HQL查询时,使用query.list()查询出来的是一个List<Object>结果集
原来代码:
public List findDataByProvince(String yxszsdm, int year) {
StringBuffer sql=new StringBuffer();
sql.append("SELECT * FROM employment_status WHERE sfdm=:sfdm AND year=:year " +
" AND stat_date =(SELECT MAX(stat_date) FROM employment_status)");
logger.info(sql.toString());
Query query=this.getSession().createSQLQuery(sql.toString());
query.setParameter("sfdm",yxszsdm);
query.setParameter("year",year);
List<EmploymentStatus> list=(List<EmploymentStatus>)query.list();
return list;
}
导致出现的问题如下图所示:

在代码中,我期望的是 返回一个List<EmploymentStatus> 集合对象,但是返回的是List<Object>,这样接收竟然也不报错,出现的问题就是,字段名少了,变成了0 1 2 3.. ,这样的数据需要我们在重新做处理,显示很麻烦。
修改后代码:
public List<EmploymentStatus> findDataBySchool(String yxszsdm,String yxdm,int year) {
StringBuffer sql=new StringBuffer();
sql.append("SELECT * FROM employment_status WHERE sfdm =:sfdm OR yxdm = :yxdm AND year =:year " +
" AND stat_date =(SELECT MAX(stat_date) FROM employment_status) ");
logger.info(sql.toString());
SQLQuery query=this.getSession().createSQLQuery(sql.toString());
query.setParameter("sfdm",yxszsdm);
query.setParameter("yxdm",yxdm);
query.setParameter("year",year);
query.addEntity(EmploymentStatus.class);
return query.list();
}
在这里需要我们将Query换成SqlQuery,使用其中的sqlQuery.addEntity(EmploymentStatus.class),这样查询出来的结果就是我们想要的对象结果集。

---恢复内容结束---
Hibernate中关于HQL查询返回List<Object>数据的结果集问题的更多相关文章
- Hibernate中的HQL查询与缓存机制
HQL:完全面向对象查询 SQL的执行顺序: 1.From 2.Where 过滤基础数据 where与having的区别:1.顺序不同 2.where过滤基础数据 3. 过滤聚合函数 3.Group ...
- SQL查询返回去除重复数据的结果集
方法一: select * from tablename where id in (select id from tablename group by id havin ...
- hibernate使用原生SQL查询返回结果集的处理
今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQu ...
- Hibernate-ORM:15.Hibernate中的Criteria查询
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲师Hibernate中的Criteria查询! 一,Criteria简介: 刚接触Hibernate ...
- Hibernate-ORM:13.Hibernate中的连接查询
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客将会解释Hibernate中的连接查询(各种join) 一,目录 1.内链接 1.1显式内连接(inn ...
- Hibernate-ORM:08.Hibernate中的投影查询
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客将叙述hibernate中的投影查询 一,目录: 1.解释什么是投影查询 2.返回Object单个对象 ...
- Hibernate中的HQL语言
一.HQL语言简介 HQL全称是Hibernate Query Language,它提供了是十分强大的功能,它是针对持久化对象,直接取得对象,而不进行update,delete和insert等操作.而 ...
- 分享知识-快乐自己:Hibernate 中Criteria Query查询详解
1):Hibernate 中Criteria Query查询详解 当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中. 此外,Hibernate还支持Cr ...
- Hibernate中的条件查询完成类
Hibernate中的条件查询有以下三个类完成: 1.Criteria:代表一次查询 2.Criterion:代表一个查询条件 3.Restrictions:产生查询条件的工具类
随机推荐
- NGUI_Input
九.输入框Input 1.凡是用户可以输入文本的地方,几乎都用输入框,有登录账号和密码.输入角色名称.输入聊天内容 2.手动拼接输入框,拖动预制体的就不再说了 (1).创建一个Sprite作为输入框的 ...
- tcpdum使用详解
http://starsliao.blog.163.com/blog/static/89048201062333032563/ TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出 ...
- lucene6+HanLP中文分词
1.前言 前一阵把博客换了个模版,模版提供了一个搜索按钮,这让我想起一直以来都想折腾的全文搜索技术,于是就用lucene6.2.1加上HanLP的分词插件做了这么一个模块CSearch.效果看这里:h ...
- ios应用程序国际化
1.程序名称国际化: 在Xcode中新建项目后,能够在project的info选项卡中找到Localization的项目,能够加入应用程序须要支持的国际语言. 回到项目中能够发如今InfoPlist. ...
- netty开发教程(一)
Netty介绍 Netty is an asynchronous event-driven network application framework for rapid development o ...
- ssm学习(四)--完整的增删改查demo
上一篇文章简要介绍了将sping mvc加入整个框架,算是完成了ssm的集成.本节继续前面的内容,结合spring mvc做一个简单的增删改查demo. 1.首先,重写一下GeckoList.jsp页 ...
- 【java】io流之字符输出流:java.io.Writer类及子类的子类java.io.FileWriter
package 文件操作; import java.io.File; import java.io.FileWriter; import java.io.IOException; import jav ...
- mongodb 复制集
mongodb 复制集 复制集简介 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写 ...
- 33 款主宰 2017 iOS 开发的开源库
推荐一篇文章 改文章汇聚了现在主流的一些三方框架,很值得一看 https://mp.weixin.qq.com/s/ICodliohtzbmA-eLKRFT-Q
- java随机生成验证码
package com.yuyuchen.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; im ...