1 join
a 为相关联的实体或集合指定一个别名
select mate
from Cat as cat
inner join cat.mate as mate
==
select cat.mate from Cat cat
b 外连接只能由于在映射中有配置关联表的类
select mate
from Cat as cat
left join cat.mate as mate
有一点要注意,使用外连接select不能省,否则将会返回一个对象数组。
2 fetch
要和join一起使用
fetch可以使延迟加载的属性立即加载
from TestUser t join fetch t.testEnterprise where t.id = 4
fetch不要和iterate(),setMaxResults(),setFirstResult()一起使用
因为使用了fecth后真实查询的结果集不仅仅只是from后面的表的字段
3 select的数据组织
a 存放在 Object[]队列
select mother, offspr, mate.name
from DomesticCat as mother
inner join mother.mate as mate
left outer join mother.kittens as offspr
b 存放在一个List对象
select new list(mother, offspr, mate.name)
from DomesticCat as mother
inner join mother.mate as mate
left outer join mother.kittens as offspr
c 存放在一个实际的类型安全的Java对象
select new Family(mother, mate, offspr)
from DomesticCat as mother
join mother.mate as mate
left join mother.kittens as offspr
d 存放在一个Map对象
select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )
from Cat cat
4 隐藏属性
一个“任意”类型有两个特殊的属性id和class
from AuditLog log, Payment payment
where log.item.class = 'Payment' and log.item.id = payment.id
5 多态查询
from java.lang.Object o
或
from domain.AbstractTestUser
这里注意除了映射过的表实体类型,其他的都要使用类全名
6 特殊的函数
HQL index() 函数,作用于join的有序集合的别名。
HQL函数,把集合作为参数:size(), minelement(), maxelement(), minindex(), maxindex(),还有特别的elements() 和indices函数,可以与
数量词加以限定:some, all, exists, any, in。
分享到:
相关推荐
总结来说,HQL是Hibernate中进行对象查询的关键部分,它简化了与数据库的交互,让开发者可以更加专注于业务逻辑而不是底层的数据库操作。通过学习和熟练掌握HQL,可以提高开发效率,使代码更加易于理解和维护。
**标题与描述解析** 标题"HibernateUtil分装完整版HQL查询"暗示了这是一个关于使用HibernateUtil工具类来封装和执行...通过学习这些内容,你可以更好地理解如何在实际项目中整合和利用HibernateUtil,提升开发效率。
### HQL实用技术知识点概述 ...通过对以上知识点的学习,可以深入理解HQL在处理不同场景下的应用技巧,特别是关联关系的配置和HQL查询的使用。这些知识不仅有助于提高软件开发的效率,还能提升系统的健壮性和可维护性。
### HQL语法详解及其应用案例 ...通过对上述内容的学习,相信你已经对HQL的基本语法和使用有了较为深入的理解。在实际开发中,合理运用HQL不仅可以提高查询效率,还能增强代码的可读性和可维护性。
2. **易于理解**:HQL的语法结构清晰,容易理解和学习。 3. **平台无关**:由于HQL是基于Hibernate框架的查询语言,因此不受特定数据库的影响,可以在不同的数据库平台上无缝迁移。 4. **灵活性**:HQL支持多种查询...
### Hibernate数据检索(HQL)知识点详解 #### 一、简介 Hibernate 是一款开源的对象关系...通过学习这些示例,我们可以更深入地理解如何使用 HQL 进行数据检索,并将其应用于实际项目中,提高开发效率和程序性能。
总结来说,HQL在处理多对多关系查询时,利用了Hibernate的面向对象特性,使得我们可以用更加直观的方式来表达复杂的关联查询。通过学习和理解这一主题,开发者能够更高效地处理数据库中的多对多关联,提高代码的可...
### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...
### 小结 HQL提供了丰富的查询语法,能够满足复杂的数据查询需求。通过上述实例,我们可以看到HQL不仅支持基本的CRUD操作,还支持更高级的功能,如模糊查询、参数绑定、聚合函数、分页以及多表关联等。掌握这些技巧...
Hibernate查询语言(HQL)...通过学习HQL的基础语法、关联查询、子查询、组合查询、分页和动态构建,开发者能够高效地管理ORM层的数据操作,提高代码质量与项目稳定性。结合实际项目,灵活运用HQL将极大提升开发效率。
- **分页**:指将大量数据分成多个较小的数据集显示,通常每页包含固定数量的数据。 - **分页参数**: - **当前页码**(Current Page Number):用户正在查看的页码。 - **每页记录数**(Records per Page):每一...
学习总结内容。。
### hql 与 Criteria 分页技术详解 #### 一、概述 在开发基于数据库的应用程序时,分页是一项...通过本文的学习,相信读者已经掌握了在Hibernate框架下进行分页查询的基本技能,可以更好地应对各种数据库操作场景。
**Hibernate 框架概述** Hibernate 是一个开源的对象关系映射(ORM)框架,它为 Java 开发者提供了一种在 Java 应用程序中管理关系...通过实践和深入学习,你可以更好地利用 Hibernate 实现高效、可靠的数据库应用。
【标题】:“学习hibernate必看ppt--总结的很全面” 这个标题表明这是一个关于Hibernate框架的综合学习资料,特别适合初学者或者需要深入理解Hibernate的开发者。它可能包含了一系列PPT,旨在全面概述Hibernate的...
- Hibernate的查询可能需要优化,因为直接使用HQL或 Criteria API可能会比手动编写的SQL效率低。在某些场景下,使用MyBatis(原iBATIS)这样的SQL映射框架可能更适合,因为它允许更直接地控制SQL语句。 - 拦截器和...
由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive ...
Hibernate支持多种数据库,具有缓存机制、事务管理和查询语言HQL,为数据库操作提供了便利。 在学习SSH框架的过程中,你可能会接触到以下知识点: 1. Spring的IoC容器:理解如何通过Bean定义和依赖注入来管理对象...
以下是对Hadoop Hive入门学习的详细总结: ### 1. Hive 安装与部署 #### 1.1 环境需求 在开始Hive的安装之前,确保你已经具备了以下基础环境: - **JDK 1.6** 或更高版本:Hive依赖Java运行环境,所以首先需要安装...