HQL中投影查询即查询一个持久化类的一个或多个属性值(不包括全部属性值),则需要使用HQL的select子句。

1、查询持久化对象的单一属性值
   为查询持久化对象的一个属性值,在select子句后跟查询的属性名

示例:

public void testShadowQuery(){
      Session session = null;
      session = HibernateUtils.getCurrentSession();
          
      String hql = "select title from Guestbook";
      Query query = session.createQuery(hql);
      List<String> list = query.list();
      session.close();
      for(String title : list){
          System.out.println(title);
      }
     
    }

2、查询持久化对象的多个属性值
  如果要查询某个实体类的多个属性值(不包含所有属性值),在HQL中有3种方式实现:

(1)、在HQL语句的select后指定所要查询的多个属性名

如:select title,content,name from Guestbook

(2)、如果持久化类提供适当的构造方法,则可以使用HQL查询时直接指定返回新建一个该持久类的对象。
      
       如:select new Guest(id,name,email) from Guestbook

(3)、在HQL中使用Map类型

如:select new map(id,name,email) from Guestbook
    同时Query对象的list()方法返回一个包含多个Map对象的集合,所以在获取每一个Map集合的值时的用法如下:

for(Map map :list){
      
       System.out.println(map.get["0"]);
       System.out.println(map.get[“1”]);
       System.out.println(map.get["2"]);
      
     }

转载于:https://blog.51cto.com/wujuxiang/403700

Hibernate HQL基础 投影查询相关推荐

  1. hibernate hql语句 投影查询的三种方式

    投影查询有三种方式: 1.直接查 2.查询返回对象 3.查询返回Map键值对 ======================================================= //投影查 ...

  2. Hibernate HQL基础 限定查询条件(这里面有各种条件查询)

    在HQL中可以使用表达式完成指定的运算或者作为限制查询结果的条件.如下表所示 |-----------------------------------------------------------| ...

  3. hql 字符串where语句_Hibernate HQL基础 限定查询条件

    在HQL中可以使用表达式完成指定的运算或者作为限制查询结果的条件.如下表所示 |-----------------------------------------------------------| ...

  4. Hibernate HQL基础 调用数据库存储过程

    在Hibernate中也可以通过SQLQuery对象调用数据库的存储过程,但是要求存储过程必须返回一个结果集. 如在Oracle数据库的一个存储过程为: CREATE OR REPLACE PROCE ...

  5. Hibernate中hql的基本查询、条件查询、排序插叙、分页查询、投影查询

    hql语句和sql语句不同,当我们使用hql语句查询时,要把SQL语句的表写成 实体类的类名,字段写成实体类的属性 基本查询:查出数据库中所有的数据 代码如下: //基本查询,查询所有的实体@Test ...

  6. Hibernate 学习笔记(二)—— Hibernate HQL查询和 QBC 查询

    目录 一.Hibernate 的 HQL 查询 1.1.查询所有数据 1.2.条件查询 1.3.排序查询 1.4.统计查询 1.5.分页查询 1.6.投影查询 二.Hibernate 的 QBC 查询 ...

  7. hql投影查询之—— [Ljava.lang.Object; cannot be cast to cn.bdqn.guanMingSys.entity.Notice

    最近在做项目中遇到一个简单的问题,但是解决了好久,问题就是投影查询. 先来看看出现的异常: java.lang.ClassCastException: [Ljava.lang.Object; cann ...

  8. hibernate HQL 使用from (select ……)子查询的方法

    今天徒弟用到了一句复杂的查询语句....结果执行报错,但是在SQL中执行没有问题,于是来求助我了... 语句的HQL/SQL格式如下: select count(1) ,cxltype,sum(dzs ...

  9. Hibernate hql 查询指定字段并获取结果集

    Hibernate hql 查询指定字段并获取结果集 在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况: 1.查询全部字 ...

最新文章

  1. VMware14安装CentOS7的详细教程
  2. Coinbase调查发现,BCH上市前没有发生不当交易
  3. 解决莫名其妙出现connection closed的错误
  4. java 容器、二叉树操作、107
  5. 小心NLS_SORT和NLS_COMP的设置成为性能杀手
  6. 【01】《正则表达式必知必会》(已看)(仅存放)
  7. LG P4074 [WC2013] 糖果公园(带修莫队,树上莫队)
  8. 【解决】如何打开.ipynb文件
  9. Java API —— IO流( FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream )...
  10. 安装ssr_网易《代号SSR》电脑版教程!
  11. java dev guide
  12. 2021年新高考八省联考成绩查询福建,八省联考福建什么时候出成绩 2021八省联考福建成绩查询...
  13. python网络编程需要学什么,python网络编程学习笔记(五):socket的一些补充 Python 网络编程需要学习哪些网络相关的知识...
  14. 王校长一分钟能吃多少热狗?| 小游戏
  15. linux系统运行application,[分享]分享曾经做过的一个嵌入式系统application框架 | 勤奋的小青蛙...
  16. python源码中的学习笔记_第11章_模块与包
  17. biopython有什么用_用Biopython解析BLAST结果
  18. android微信支付跳转逻辑,Android对接微信支付
  19. python情绪识别_人脸情绪识别 测试心得(示例代码)
  20. 多个pdf文件如何合并为一个文件?怎样将多个pdf文件合并到一个文件?

热门文章

  1. PHP 和 AJAX MySQL
  2. [3]MVC3中使用Telerik(转)
  3. MVC项目开发中那些用到的知识点(Asp.Net Mvc3.0 Areas)
  4. Struts2(批量类型转换器struts2.3.4)
  5. 腾讯产品经理的一天是啥样的?
  6. 内容处理和分发中的算法应用探究
  7. 分分钟收入上万 她做到了网红最难的粉丝沉淀
  8. 腾讯首次公布微信最全用户数据【完整版】
  9. 【pmcaff】pm怎么跟妈妈解释自己是做什么的
  10. 如何防止同一账号多次登录