`
mengyang
  • 浏览: 266154 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

HQL学习小结

    博客分类:
  • SSH
 
阅读更多
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语法入门学习HQL语法入门学习

    总结来说,HQL是Hibernate中进行对象查询的关键部分,它简化了与数据库的交互,让开发者可以更加专注于业务逻辑而不是底层的数据库操作。通过学习和熟练掌握HQL,可以提高开发效率,使代码更加易于理解和维护。

    HibernateUtil分装完整版HQL查询

    **标题与描述解析** 标题"HibernateUtil分装完整版HQL查询"暗示了这是一个关于使用HibernateUtil工具类来封装和执行...通过学习这些内容,你可以更好地理解如何在实际项目中整合和利用HibernateUtil,提升开发效率。

    03-HQL实用技术.pdf

    ### HQL实用技术知识点概述 ...通过对以上知识点的学习,可以深入理解HQL在处理不同场景下的应用技巧,特别是关联关系的配置和HQL查询的使用。这些知识不仅有助于提高软件开发的效率,还能提升系统的健壮性和可维护性。

    HQL语法大全,并带有详细的例子

    ### HQL语法详解及其应用案例 ...通过对上述内容的学习,相信你已经对HQL的基本语法和使用有了较为深入的理解。在实际开发中,合理运用HQL不仅可以提高查询效率,还能增强代码的可读性和可维护性。

    HQL是hibernate自己的一套查询

    2. **易于理解**:HQL的语法结构清晰,容易理解和学习。 3. **平台无关**:由于HQL是基于Hibernate框架的查询语言,因此不受特定数据库的影响,可以在不同的数据库平台上无缝迁移。 4. **灵活性**:HQL支持多种查询...

    Hibernate数据检索(HQL)笔记

    ### Hibernate数据检索(HQL)知识点详解 #### 一、简介 Hibernate 是一款开源的对象关系...通过学习这些示例,我们可以更深入地理解如何使用 HQL 进行数据检索,并将其应用于实际项目中,提高开发效率和程序性能。

    HQL多对多的查询语句分析

    总结来说,HQL在处理多对多关系查询时,利用了Hibernate的面向对象特性,使得我们可以用更加直观的方式来表达复杂的关联查询。通过学习和理解这一主题,开发者能够更高效地处理数据库中的多对多关联,提高代码的可...

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...

    Hibernate 经常用的一些HQL语句

    ### 小结 HQL提供了丰富的查询语法,能够满足复杂的数据查询需求。通过上述实例,我们可以看到HQL不仅支持基本的CRUD操作,还支持更高级的功能,如模糊查询、参数绑定、聚合函数、分页以及多表关联等。掌握这些技巧...

    hibernate查询语言hql

    Hibernate查询语言(HQL)...通过学习HQL的基础语法、关联查询、子查询、组合查询、分页和动态构建,开发者能够高效地管理ORM层的数据操作,提高代码质量与项目稳定性。结合实际项目,灵活运用HQL将极大提升开发效率。

    SSh sql/hql 分页

    - **分页**:指将大量数据分成多个较小的数据集显示,通常每页包含固定数量的数据。 - **分页参数**: - **当前页码**(Current Page Number):用户正在查看的页码。 - **每页记录数**(Records per Page):每一...

    数据仓库与数据挖掘脑图总结_by_hql.zip

    学习总结内容。。

    hql criteria分页

    ### hql 与 Criteria 分页技术详解 #### 一、概述 在开发基于数据库的应用程序时,分页是一项...通过本文的学习,相信读者已经掌握了在Hibernate框架下进行分页查询的基本技能,可以更好地应对各种数据库操作场景。

    hibernate学习总结文档

    **Hibernate 框架概述** Hibernate 是一个开源的对象关系映射(ORM)框架,它为 Java 开发者提供了一种在 Java 应用程序中管理关系...通过实践和深入学习,你可以更好地利用 Hibernate 实现高效、可靠的数据库应用。

    学习hibernate必看ppt--总结的很全面

    【标题】:“学习hibernate必看ppt--总结的很全面” 这个标题表明这是一个关于Hibernate框架的综合学习资料,特别适合初学者或者需要深入理解Hibernate的开发者。它可能包含了一系列PPT,旨在全面概述Hibernate的...

    ssh学习总结知识.pdf

    - Hibernate的查询可能需要优化,因为直接使用HQL或 Criteria API可能会比手动编写的SQL效率低。在某些场景下,使用MyBatis(原iBATIS)这样的SQL映射框架可能更适合,因为它允许更直接地控制SQL语句。 - 拦截器和...

    hive学习总结 思维导图.xmind

    由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive ...

    ssh框架学习总结

    Hibernate支持多种数据库,具有缓存机制、事务管理和查询语言HQL,为数据库操作提供了便利。 在学习SSH框架的过程中,你可能会接触到以下知识点: 1. Spring的IoC容器:理解如何通过Bean定义和依赖注入来管理对象...

    hadoop hive入门学习总结

    以下是对Hadoop Hive入门学习的详细总结: ### 1. Hive 安装与部署 #### 1.1 环境需求 在开始Hive的安装之前,确保你已经具备了以下基础环境: - **JDK 1.6** 或更高版本:Hive依赖Java运行环境,所以首先需要安装...

Global site tag (gtag.js) - Google Analytics