`
Supanccy2013
  • 浏览: 223834 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

hibernate hql查询 select 语句 和 from语句

阅读更多
注:原创作品,分享以供交流学习,转载请注明出处

本博文实例假定:
1,Person是 一个实体类。
2. Person类中有一个关联实体Event 属性名为:myEvent
3. ClessTest 是一个实体类。

第一:HQL from语句
1,
from Person  或者 from Person as p

   结果类型:List<Person>

2,
from Person as p where p.myEvent.title = :title

   hibernate3.2.3之前总是对的。
   hibernate3.2.3之后如果myEvent是普通属性或关联的实体
                  也是对的,如果myEvent是一个集合会出异常
   因此hibernate推荐使用下面的方式:
  
select p from Person as p inner join p.myEvent as e
   where e.title = :title
和上面的语句是等效的。

   查出的结果是:List<Person>

3,
from Person as p
  inner join p.myEvent as event
  where event.title = : title

  结果类型: List<Person,Event>

4,
from Person as p
  inner join p.myEvent as event
  where event.title = : title

  查询出来是:是一个集合,集合元素是Person,myEvent组成的数组。
  结果类型: List<Person,Event>

5,
from Person as p
  left outer join p.myEvent as event
  where event.title = : title

  查询出来是:是一个集合,集合元素是Person,myEvent组成的数组。
  结果类型: List<Person,Event>

6,
from Person as p
  right outer join p.myEvent as event
  where event.title = : title

  结果类型: List<Person,Event>

7,
from Person as p
  full join p.myEvent as event
  where event.title = : title

  结果类型: List<Person,Event>

第二:HQL select语句
1,
select p.name from Person as p

   结果类型:  List<String>
2,
select p.name,p from Person as p

   结果类型: List<Object[String,Person]>
3,
select new List(p.name,p.address) from Person as p

   结果类型:List<String,String>
4,
select new ClassTest(p.name,p.address) from Person as p

   前提ClassTest 类有两个参数的构造器。
   结果类型:List<ClassTest>
5,
select new map(p.name as personName) from Person as p

   结果类型: List<Map<String,String>>
6,
select p.name || - ||  p.address from Person as p

   结果类型:List<String>
0
0
分享到:
评论

相关推荐

    Hibernate HQL查询语句总结.docx

    Hibernate HQL 查询语句是 Hibernate 框架中的一种查询语言,它提供了更加丰富的和灵活的查询特性,具有类似标准 SQL 语句的查询方式,同时也提供了更加面向对象的封装。以下是 Hibernate HQL 查询语句的知识点总结...

    hibernateHQL关联查询

    其中,HQL(Hibernate Query Language)作为Hibernate提供的查询语言之一,允许开发者以接近面向对象的方式编写查询语句。本文将重点介绍Hibernate中的关联查询,并深入探讨HQL关联查询的实现原理及应用场景。 ####...

    Hibernate hql查询语法总结

    其内置的HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者以类和对象的方式进行数据查询。本文将对Hibernate HQL查询语法进行总结,涵盖基础查询、属性查询、实例化查询以及查询链接等多个...

    hibernate 中HQL语句查询学习笔记

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

    Hibernate-HQL语句多对多写法

    在这种情况下,我们需要使用 Hibernate 的 HQL 语言来编写查询语句,以便检索和操作数据。 在这个例子中,我们有三个实体类:Menu、Privilege 和中间表 menu_privilege。Menu 实体类中有一个 privileges 列表字段,...

    hibernateHQL基本查询

    在 Hibernate 中,所有的查询都是通过 `Query` 对象来实现的,可以通过 `Session` 对象的 `createQuery` 方法创建 `Query` 对象,并传入 HQL 语句。 ##### 1. 查询所有对象 以查询所有图书类别为例,HQL 语句如下:...

    Hibernate-HQL.rar_HQL_hibernate hql

    2. 子查询:可以在WHERE或HAVING子句中嵌套HQL查询,如“SELECT u FROM User u WHERE u.id IN (SELECT f.userId FROM Friend f WHERE f.friendId=100)”。 3. 动态HQL:通过Criteria API或Query接口,可以构建动态...

    hibernate查询语句--HQL

    ### Hibernate 查询语句 -- HQL #### 概述 Hibernate 是一个开源的对象关系映射 (ORM) 框架,它允许开发人员将 Java 对象映射到数据库表中的记录,从而简化了数据访问逻辑。在 Hibernate 中,执行查询操作的主要...

    经典hibernate教程-HQL语句

    HQL的全称是?...HQL语句为:select jd.jdid,jd.jd from TblJd jd。怎样获得并显示查询结果? 使用'?'做占位符的参数查询,怎样设置参数的值? 命名参数查询的语法是? 怎样创建Criteria查询对象?

    hibernate的hql语句

    总之,Hibernate的HQL语句为开发者提供了强大的面向对象的数据库查询工具,它简化了对象与数据库之间的交互,使得SSH框架下的数据操作更为灵活和高效。熟练掌握HQL,有助于提升开发效率和项目质量。

    HibernateHql综合测试小程序

    本程序“HibernateHql综合测试小程序”是针对Hibernate中的HQL(Hibernate Query Language)进行的一系列功能测试,涵盖了二十多种不同的HQL语句,旨在帮助开发者深入理解和熟练运用Hibernate的查询能力。...

    Hibernate HQL.txt

    Hibernate HQL是一种面向对象的查询语言,它允许开发人员以一种更加自然的方式来表达数据库查询,而无需直接编写SQL语句。HQL提供了类似于SQL的强大查询能力,但更符合面向对象编程的思维方式,这使得它在处理持久化...

    hql语句查询

    HQL(Hibernate Query Language)是Hibernate框架中用于查询数据的一种语言。它类似于SQL,但面向对象特性更明显,可以更加灵活地处理复杂的对象图关系。HQL支持基本的查询操作如选择、更新、删除等,并且可以方便地...

    HQL语句详解Select/update/deletefromwhere...

    需要注意的是,在Hibernate中查询时,如果实体之间存在继承关系(如`Employee`类继承自`HourlyEmployee`和`SalariedEmployee`),则可以通过类似`"from Employee"`这样的HQL语句来查询基类`Employee`的所有子类实例...

    Hibernate之HQL查询

    HQL查询语句结构通常包括以下几个部分:`SELECT`, `FROM`, `WHERE`, `GROUP BY`, `HAVING`, `ORDER BY`。这些关键字与SQL中的用法类似,但HQL中的对象和属性是基于Java类和它们的成员。 例如,假设我们有一个`...

    hibernate执行原生sql语句

    然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的查询语言(HQL)。本文将介绍如何使用 Hibernate 执行原生 SQL 语句。 为什么需要执行原生 SQL 语句 在实际开发中,我们可能需要执行...

    超级详细的hql查询语句教程

    Hibernate Query Language(HQL)是一种面向对象的查询语言,其语法与SQL相似但并非完全相同。HQL的设计旨在更好地支持面向对象编程特性,比如继承、多态以及关联等概念。通过HQL,开发人员可以在不牺牲对象模型灵活...

    Hibernate中HQL语句的使用[参考].pdf

    Hibernate中HQL语句的使用 ...HQL语句可以用于各种查询场景,包括简单属性查询、多个属性的查询、使用别名、实体对象查询、外置命名查询、查询过滤器、分页查询、对象导航查询、连接查询和统计查询等。

    Hibernate 课件_HQL

    ### Hibernate 课件_HQL 知识点解析 #### HQL查询 ...这些知识点涵盖了HQL的基本概念、查询方法、各种高级查询技巧以及Session的管理等方面,希望能够帮助大家更好地理解和掌握Hibernate的HQL查询技术。

Global site tag (gtag.js) - Google Analytics