`

hql语句总结

 
阅读更多

1、使用in且按照in里面的集合顺序查询结果

 

List<Integer> employeeIds = dao.getHibernateTemplate().findByNamedParam("select e.employeeId from Employee e where e.workId in (:teamWorkIds) order by FIELD(e.workId, :teamWorkIds)", "teamWorkIds", teamWorkIds);
 

注意这里的order by FIELD

 

2、当取某一个对象关联的一个对象作为插叙结果,有可能会出现以下异常:

Hibernate异常:query specified join fetching, but the owner of the fetched association was not present in the select list

 

这句意思是:你fetch的东东,需要在返回对象中存在,如果不存在需要把fetch删除,直接使用join

 

3、选择不重复

String hql = "select distinct m.project from Milepost m left join  m.project "; 

上面这个结合第二条看

 

4、group by 使用

select sum(l.costWorktime) from Log l left join l.project p left join l.employee e where p.projectId=? and l.workDate between ? and ? group by e.employeeId order by sum(l.costWorktime)

 

还有就是mysql的between他是闭区间的

 

5、对于hibernate中使用count(distinct 列表1,列表2)....group by 出错

 

网络查询原因,http://blog.csdn.net/hymer2011/article/details/6588040

hql有如下两个限制:

HQL(SQL)不支持select count(distinct x, y) from xx;

HQL不支持select count(*) from (select distinct x, y from xx);

即:HQL不支持from语句中的子查询

  可以支持单个的count(distinct x)

 

后来改成这样使用原生的:

 

String sql1 = "select count(distinct l.project_id, l.sub_project_id), l.employee_id from tbl_log l where l.work_date between ? and ? and l.employee_id in (:employeeIds) group by l.employee_id order by FIELD(l.employee_id, :employeeIds)";
				return session.createSQLQuery(sql1).setDate(0, fromDate).setDate(1, toDate).setParameterList("employeeIds", employeeIds).list();
按月来统计:
select sum(l.costWorktime), DATE_FORMAT(l.workDate, '%Y-%m') from Log l where 1=1 group by DATE_FORMAT(l.workDate, '%Y-%m')
分享到:
评论

相关推荐

    最新HQL语句实例代码

    常见HQL语句的示例包括输出结果,以及语句的分析总结

    Hql语句注意事项总结

    Hql语句注意事项总结 1.在Hql中使用group by的问题 2.在count()中使用别名问题 3.关于Integer和Long的问题 4.关于参数是数组的问题

    Hibernate HQL查询语句总结.docx

    Hibernate HQL查询语句总结.docx 网络下载的

    hql的增删改查

    总结的hql的语句的常用的增删改查,自己留着看的

    Hiberbate hql总结

    一个很好的学习文档,可以更快更好的将hql语句学好,内将hql的各种方法一一例出

    Hibernate学习总结

    学习成长路,Hibernate总结: 1.Hibernate入门优缺点、 2.Hibernate的操作CRUD、 3.主键生成机制、 4.持久化对象的状态、 5.映射一对多关联关系、 6.深入session、 ...10.Hbernate的检索方式(HQL语句)

    hadoop-hive的知识点总结

    hadoop-hive的hql知识点详细总结,纯干货,建表,分区,分桶,hive的dml语句,hive的函数,hive的序列化与反序列化

    Java语言基础下载

    内容总结 13 独立实践 14 第二章: 面向对象概述 15 学习目标 15 面向对象(Object Oriented) 16 面向对象的主要特性 18 抽象(Abstraction) 18 封装(Encapsulation): 19 多态(Polymorphism) 20 面向对象的优点 22 ...

    java综合试题

    9. HQL 语句是 Hibernate 查询语言,用于实现数据库的查询操作。 10. 事务有两种:本地事务和分布式事务,本地事务用于实现单个数据库的事务管理,分布式事务用于实现多个数据库的事务管理。 本文档总结了 Java ...

    java变态面试题.pdf

    * Hibernate 实现动态查询:使用条件查询代替 HQL 语句, DetachedCriteria 是分离业务层的应用,原本的 Criteria 是与 session 绑定的。 二、Java 基础知识点 * Jdk1.6 的新技术 Annotation:特点是可以大量应用...

    JSP开发中hibernate框架的常用检索方式总结

    总结hibernate框架的常用检索方式 1、hibernate框架的检索方式有以下几种: OID检索:根据唯一标识OID检索数据 对象导航检索:根据某个对象导航查询与该对象关联的对象数据 HQL检索:通过query接口对象查询 QBC...

    Hive学习总结及应用.pdf

    Hive学习总结及应用.pdf 本文档主要介绍了Hive的基本概念、应用场景、元数据存储方式、数据导入和导出方式等。下面是对文档中提到的知识点的详细解释: 一、Hive概述 Hive是一个构建在HDFS和Map/Reduce之上的可...

    Hibernate_二级缓存总结

    缓存可以简单的看成一个 Map ,通过 key 在缓存里面找 ...对于查询缓存来说,缓存的 key 是根据 hql 生成的 sql ,再加上参数,分页等信息(可以通过日志输出看到,不过它的输出不是很可读,最好改一下它的代码)。

    2019年度热门关于java实习报告周记优秀七篇.doc

    本文总结了 Java 实习报告周记的七篇优秀篇章,涵盖了 XML、Log4j、Hibernate、数据库设计、HQL 优化、加载策略、抓取策略、事务控制等多个方面的知识点。 一、XML * XML 的概念:可扩展的标记语言 * 优点:结构化...

    J2EE期末复习(含答案).pdf

    5、HQL 查询语句 from Cat as cat,不仅仅返回 Cat 的实例,而且还返回 ____的实例。 HQL 查询语句 from Cat as cat,不仅仅返回 Cat 的实例,而且还返回 Cat 的子类实例。 6、下面哪些子句不支持算数表达式? ...

    hibernate总结

    2. 通过HQL/SQL 检索 hibernate query language (面向对象的查询语言) * a) 不再操纵表,它操纵的是持久化类的对象 b) 面向对象的 3. QBC ( query by criteria ) 更加面向对象 4. QBE ( query by Example ) 5....

    hibernate 框架详解

    批量的UPDATE & DELETE语句 15.14. 小技巧 & 小窍门 16. 条件查询(Criteria Queries) 16.1. 创建一个Criteria 实例 16.2. 限制结果集内容 16.3. 结果集排序 16.4. 关联 16.5. 动态关联抓取 16.6. 查询示例...

    hibernate3.04中文文档.chm

    15.13. 批量的UPDATE & DELETE语句 15.14. 小技巧 & 小窍门 16. 条件查询(Criteria Queries) 16.1. 创建一个Criteria 实例 16.2. 限制结果集内容 16.3. 结果集排序 16.4. 关联 16.5. 动态关联抓取 16.6. ...

    Hibernate教程

    2.4. 总结 3. 体系结构(Architecture) 3.1. 概况(Overview) 3.2. 实例状态 3.3. JMX整合 3.4. 对JCA的支持 4. 配置 4.1. 可编程的配置方式 4.2. 获得SessionFactory 4.3. JDBC连接 4.4. 可选的配置属性 ...

    Java学习笔记-个人整理的

    {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{...

Global site tag (gtag.js) - Google Analytics