在HQL中关键字不区分大小写,但是属性和类名区分大小写
1、简单的属性查询
*单一的属性查询,返回结果集属性列表,元素类型和实体类型中对应的实体一致
*多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体中的类型一致,数组的长度取决与、
SELECT 中属性的个数,如果认为数组不理想,可以采用HQL的动态实例化对象。
2、实体对象查询
*N+1问题,在默认情况下,使用query,iterator查询,有可能出现N+1问题,所谓的N+1是在查询的时候发出N+1条
sql查询语句。
1:首先发出一条查询对象id列表的sql语句。
N:根据id列表到缓存中查询,如果缓存中不存在与之对应的数据,那么会根据id发出对应的SQL语句
*list和iteror的区别
*list每次都会发出SQL语句,list会向缓存中放入数据,而不利用缓存中的数据
*iterator在默认情况下利用缓存中的数据,但如果缓存中没有所对应的数据可能会出现N+1问题
3、条件查询语句
*可以采用拼接字符串的方式传递参数
*可以采用?来传递参数(索引从0开始)
*可以采用“:参数名”来传递参数
*如果传递多个参数,可以采用setParamterList方法
*在hql中可以使用数据库的函数,如:date_format
4、Hibernate也支持直接使用sql进行查询
5、外置命名查询
*在映射文件中采用<query>标签定义hql
*在程序中采用session.getNameQuery()方法得到hql查询串
6、查询过滤器
*在映射文件中定义过滤器参数
*在类的映射中使用这些参数
*在程序中启用过滤器
7、分页查询
*setFirstResult(firstResult),从firstResult开始
*setMaxResult(maxResult),每页显示多少maxResult条数据
8、对象导航查询
*在hql中采用“.”进行对象导航查询
9、连接查询
*内连接 select c.name,s.name from Student s join s.classes c
*外连接
@左连接:select c.name,s.name from Classes c left join c.students s
@右连接:select c.name,s.name from Classes c right join c.students s
10、统计查询
*select count(*) from Student
*select c.name,count(s) from Student s join s.classes c group by c.name order by c.name
分享到:
相关推荐
Hibernate查询语言HQL
Hibernate 查询语言 HQL Hibernate 查询语言 HQL 是一种面向对象的查询语言,用于检索对象。它提供了灵活多样的查询机制,包括导航对象图、通过标识符检索、使用 HQL 检索对象、使用 Hibernate 条件 API 和使用本地...
Hibernate查询语言HQL是Hibernate框架中处理对象关系映射的强大工具,其面向对象的特性使得开发者可以更方便地操作数据库。通过学习HQL的基础语法、关联查询、子查询、组合查询、分页和动态构建,开发者能够高效地...
以上就是关于Hibernate查询语言HQL的详解,包括了从简单属性查询到实体对象查询,再到条件查询、原生SQL查询和外置命名查询的使用。通过学习和实践,开发者可以更加熟练地运用Hibernate进行数据库操作。
HQL Hibernate 查询语言 HQL(Hibernate Query Language)是 Hibernate 中的一种强大的查询语言,它看起来很像 SQL,但是不要被语法结构上的相似所迷惑,HQL 是非常有意识的被设计为完全面向对象的查询,它可以理解...
Hibernate查询之HQL是ORM(对象关系映射)框架Hibernate中的一个重要组成部分,它是一种面向对象的查询语言,与SQL有着显著的区别。HQL允许开发者使用类名和属性而不是表名和列名进行查询,从而更好地适应面向对象的...
### Hibernate 查询语言 (HQL) #### 一、简介 Hibernate 查询语言(HQL)是一种功能强大的查询语言,它与 SQL 在语法上有一定的相似性,但 HQL 被设计成面向对象的语言,能够理解诸如继承、多态和关联等概念。这种...
Hibernate 查询语言(HQL)语法参考 HQL(Hibernate Query Language)是 Hibernate 框架中的一种强大的查询语言,它类似于 SQL 语句,但是它是完全面向对象的查询语言,可以理解继承、多态和关联等概念。 大小写...
【描述】:在ORM框架Hibernate中,数据查询和检索是一个核心功能,它提供了多种查询方式,包括标准化对象查询(Criteria Query)、Hibernate查询语言(HQL)和原生SQL查询。其中,HQL作为官方推荐的查询方式,具有...
- **定义**: HQL(Hibernate Query Language)是一种面向对象的查询语言,它的语法类似于SQL,但不同于直接操作数据库表,HQL操作的是持久化的Java对象。这意味着在编写查询时,可以使用Java对象模型中的类名和属性...
其中,HQL(Hibernate Query Language)作为Hibernate提供的查询语言之一,允许开发者以接近面向对象的方式编写查询语句。本文将重点介绍Hibernate中的关联查询,并深入探讨HQL关联查询的实现原理及应用场景。 ####...
其内置的HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者以类和对象的方式进行数据查询。本文将对Hibernate HQL查询语法进行总结,涵盖基础查询、属性查询、实例化查询以及查询链接等多个...
在数据查询方面,Hibernate提供了多种查询方式,其中HQL(Hibernate Query Language)是一种基于SQL的领域查询语言,它允许开发者以面向对象的方式编写查询语句,而无需直接处理复杂的SQL语句。本文将深入探讨...
首先,HQL是Hibernate专门设计的一种面向对象的查询语言,它的语法类似于SQL,但更注重对象而非表。例如,如果我们有一个`User`实体,我们可以使用HQL来获取所有用户: ```java Session session = sessionFactory....
本篇文档将深入探讨Hibernate中的HQL(Hibernate Query Language),一种面向对象的查询语言,它提供了与SQL类似的语法,但更贴近于面向对象的思维模式,使得开发者可以更加便捷地进行数据查询。 一、HQL简介 HQL是...
HQL,全称Hibernate Query Language,是Hibernate框架提供的一种面向对象的查询语言,它的语法结构与SQL相似,但主要针对对象和实体进行操作,而不是直接操作数据库表。HQL是Hibernate官方推荐的检索数据的主要方式...
1. **基本查询**:HQL是Hibernate提供的面向对象的查询语言,类似于SQL。例如,获取所有用户: ```java String hql = "from User"; List<User> users = session.createQuery(hql).list(); ``` 2. **条件查询**:HQL...
4. **查询语言HQL和 Criteria API**:介绍Hibernate查询语言HQL,它是面向对象的查询方式,与SQL相对应,同时讲解Criteria API,提供更动态、类型安全的查询方式。 5. ** Criteria和DetachedCriteria**:详细阐述...