您的位置:首页 > 数据库

Hibernate通过sql查询返回list或者是map

2018-01-19 12:51 309 查看
hibernate大致分如下集中查询:

1.Criteria查询,简称QBC<Query By Criteria>;
2.HQL查询;
3.SQL查询;

记一下sql查询。
在实际应用中,有时会查询某张表的个别字段,这个时候就需要用原生sql来查询。
但是通过原生sql查询的返回结果会是list形式的数组。
如查询学生表的name,age列,返回的结果就是由多个name、age所在的数组形成的list。
不过,可以通过hibernate特殊的支持方式,将用原生sql查询出来的结果映射成List<List>或者是List<Map>.
1.如何映射成为List<List>

String sql=“select new List(s.name as name) from Student s where s.classNo = 1”;
List ls=session.createQuery(sql).list();
2.如何映射成List<Map>
String sql=“select new map(s.name as name) from Student s”;
List ls=session.createQuery(sql).list();解释:
这种方式其实还是通过hql方式来实现查询的,还是要符合映射关系的:
1.其中Student是实体类名,不是数据库中的表名。
2.name,age等列名对应的是实体类中的属性;
3.其中hql语句中的实体类名和属性名是需要注意大小写的;
4.如果用到DISTINCT来实现查询时去重时:
String sql=“select DISTINCT new List(s.name as name) from Student s where s.classNo = 1”;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐