常用查询:
    LINQ:
      from c in ctx.Customers select c
    HQL:
       from Customers c 
  比较一下,区别还是有的 ;注意HQL中Customers 是个领域模型;LINQ中的ctx是DataContext实例;
  既然他们都是对象化的查询,那下面的例子:
     LINQ:
      from c in ctx.Customers
         where c.ContractorName == ”tom“  select new {obj = c.ContractorName}
    HQL:
       from Customers c where c.ContractorName = ?   
      // "?"表示传入的参数 ,上面的两个例子中的c都可以看成一个对象,
  在如:
      LINQ:
       from c in ctx.Customers 
           where c.Orders.Count > 0 select c
        //Customers 和 Orders 是主外键关系
      HQL:
       from Orders o where o. Customers.ContractorName = ?  
       //o表示Orders这个对象,它的属性Customers也是一个对象
      select Customers from Orders o where o. Customers.ContractorName = ?  
      //在HQL中可以通过select 返回其他对象

使用排序:
     LINQ:
        from c in ctx.Employees 
           where c.Employees.Count >0
           orderby c.EmployeeID descending , c.ReportsTo ascending 
           select c
      注意,因为Employees 有个自链接,[ReportsTo] REFERENCES [EmployeeID],所以有c.Employees.Count >0
这个;
     HQL:
        from Customers c order by c.EmployeeID desc, c.ReportsTo asc
    这里HQL的排序方式和T-SQL一样;

使用分组:
    简单分组:
    LINQ:
      from c in ctx.Employees
        group c by c.ReportsTo
      select c
    HQL:
      from Employees e group by e.EmployeeID
  带条件的分组:
     LINQ:
      from c in ctx.Employees
        group c by c.ReportsTo into tmp
        where tmp.Count() > 0
      select new { 分组数 = tmp.Count()}
    HQL:
      select count(e) from Employees e
         group by e.EmployeeID 
         having  e.EmployeeID = 11

转载于:https://www.cnblogs.com/pojia/archive/2008/03/14/1106270.html

LING与HQL(三)相关推荐

  1. Hibernate复习笔记

    (一)第一个hibernate项目 1.创建java项目 2.创建User Library,加入依赖包 * HIBERNATE_HOME/lib/*.jar * HIBERNATE_HOME/hibe ...

  2. 英语专业 计算机语言学,SFU专业合集 | 语言学(Linguistic)专业一览

    原标题:SFU专业合集 | 语言学(Linguistic)专业一览 ▼ 上课时候,教授讲过一个段子,说学 (linguistic)语言学专业的同学,一定会遭遇这样的情况,那就是一听到你是学语言学的,就 ...

  3. Hibernate通常是三种:hql查询,QBC查询和QBE查询:

    一:Hibernate QBC与HQL优缺点 QBC 全称:Query By Criteria HQL 全称:hibernate Query Language HQL优点:与sql相近,可读性好,功能 ...

  4. 三、通过session操作hibernate(hql语句)

    在没有将spring和hibernate整合在一起的时候,要使用hibernate,在持久层需要如下步骤: 一.在还没有对hibernate进行spring的整合的时候,我们需要写一个session工 ...

  5. ORM武器:NHibernate(三)五个步骤+简单对象CRUD+HQL

    前面的两篇文章中.我们对NHibernate已经做了大致了解 <ORM利器:NHibernate(一)简单介绍>Nhibernate的作用:攻克了对象和数据库的转化问题 <ORM利器 ...

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

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

  7. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...

  8. 三万字,Spark学习笔记

    Spark 基础 Spark特性 Spark使用简练优雅的Scala语言编写,基于Scala提供了交互式编程体验,同时提供多种方便易用的API.Spark遵循"一个软件栈满足不同应用场景&q ...

  9. hql 语法与详细解释转

    HQL查询 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性 ...

最新文章

  1. “僵尸病毒”入侵全球电脑,7.5万部电脑中招(来源:广州日报)
  2. html tfoot标签,HTML tfoot 标签
  3. 2017-2018-1 20179215 《从问题到程序》第五章
  4. TCP/IP 5.3.4不连续的子网和无类别路由选择
  5. 如何能能够学好软件编程技术
  6. 在U盘上安装Linux系统解决方案
  7. Windows Excel 中的符号字体 webdings (C:\Windows\Fonts\webdings.ttf)
  8. c#+arcAE对图层进行各种渲染操作
  9. 行政区域村级划分数据库_最新行政区划省市区街道乡镇数据库 每月更新版
  10. VS Code设置PHP可执行文件
  11. unity占用太多c盘空间
  12. Linux下安装google浏览器
  13. 基于MATLAB的数字信号处理(4) IIR数字滤波器设计及软件实现
  14. `spyder总是闪退?spyder打不开?spyder又又又又又出错啦?
  15. Java项目:基于java航空订票系统(计算机毕业设计)
  16. java sfc模拟器_Higan(sfc超精准模拟器)
  17. 2022-2028全球与中国条码标签生成软件市场现状及未来发展趋势
  18. 如何将图片变成黑白色?
  19. mysql pdb_mysql一些常用命令总结
  20. 酒店管理系统,您选对了吗?

热门文章

  1. wsld2java axis_Weblogic+axis2安装
  2. 一级计算机考试修改信息书面申请表,医院信息科修改数据库申请单.doc
  3. 接口应用:内部比较器Comparable
  4. nodejs mac java home_Mac上搭建nodejs开发环境
  5. php在指定html元素中输出,如何从PHP中的数组输出html svg元素?
  6. mysql 分表后排序_MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计?...
  7. java实现log4j_log4j在java中实现
  8. Java 向文件中追加数据
  9. 没有bug队——加贝——Python 练习实例 11,12
  10. 【OpenCV 例程200篇】06. 像素的编辑(img.itemset)