码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate(十二):HQL查询(一)

时间:2017-06-08 23:42:58      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:xxx   支持   允许   方法   数位   动态绑定   oid   strong   查询   

  • 概述

Hibernate提供了以下几种检索对象的方式

1)导航对象图检索方式:根据已经加载的对象导航到其他对象;

2)OID检索方式:按照对象的OID来检索对象;

3)HQL检索方式:使用面向对象的HQL查询语言;

4)QBC检索方式:使用QBC(Query By Criteria)API来检索对象。这种API封装了基于字符串形式的查询语句,提供了更加面向对象的查询接口。

5)本地SQL检索的方式:使用本地数据的SQL查询语句。

HQL(Hibernate Query Language)面向对象的查询语言,它和SQL查询语言有些相似。在Hibernate提供的各种检索方式中,HQL是使用最广泛的一种检索方式。它有如下功能:

1)在查询语句中设定各种查询条件

2)支持投影查询,即仅检索出对象的部分属性

3)支持分页查询

4)支持连接查询

5)支持分组查询,允许使用“HAVING”和“GROUP BY”关键字

6)提供内置聚集函数,如:SUM()、MIN()、Max()

7)支持子查询

8)支持动态绑定参数

9)能够调用用户定义的SQL函数或标准的SQL函数。

HQL检索方式包括以下步骤

1)通过Session的createQuery()方法创建一个Query对象,它包括一个HQL查询语句。HQL查询语句中可以包括命名参数

2)动态绑定参数

3)调用Query相关方法执行查询语句

Query接口支持方法链编程风格

  它的setXxx()方法返回自身实例,而不是void类型。

HQL vs SQL

1)HQL查询语句是面向对象的,Hibernate负责解析HQL查询语句,然后根据对象-关系映射文件中的映射信息,把HQL查询语句翻译成相应的SQL语句。HQL查询语句中的主题是域模型中的类与类的属性

2)SQL查询语句是与关系数据库绑定在一起的。SQL查询语句中的主体是数据库表及表的字段。

绑定参数

1)Hibernate的参数绑定机制依赖于JDBC API中的PreparedStatement的预定义SQL语句功能。

2)HQL的参数绑定两种形式:

  按参数名称绑定:在HQL查询语句定义命名参数,命名参数以“.”开头

  按参数位置绑定:在HQL查询语句中用“?”来定定义参数位置

3)相关参数

  setEntity():把参数与一个持久类绑定

  setParamenter():绑定任意类型的参数,该方式的第三个参数显式指定Hibernate映射类性。

HQL采用ORDER BY关键字对查询结果排序

 

Hibernate(十二):HQL查询(一)

标签:xxx   支持   允许   方法   数位   动态绑定   oid   strong   查询   

原文地址:http://www.cnblogs.com/yy3b2007com/p/6965055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!