HQL时完全面向对象的查询语言,因此可以支持继承、多态等特性。
HQL查询依赖于Query类,每个Query实例对应一个查询对象。使用HQL查询按如下步骤进行:
(1)获取Hibernate Session对象。
(2)编写HQL语句。
(3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象。
(4)如果HQL语句包含参数,则调用Query的setXxx方法为参数赋值。
(5)调用Query对象的list等方法返回查询结果列表。
HQL的占位符既可使用英文问号(?),这与SQL语句中的占位符完全一样;也可使用名字的占位符,使用有名字的占位符时,应该在占位符名字前增加冒号(:),如下面HQL语句所示:
select distinct p from Person p join p.myEvenets where title=:eventTitle.
通过session的createQuery(hql)方法创建一个Query,Query对象使用SetXxx()方法为HQL参数赋值。Query的所有setXxx()方法都有两个版本,分别用于根据参数索引赋值和根据参数名字赋值,具体查阅Query接口的API说明。
Query对象可以连续多次为HQL参数赋值,因为Hibernate Query的setXxx()方法返回值是Query本身。因此,程序通过Session创建Query后,直接多次调用setXxx方法为HQL语句的参数赋值。
Query还包括两个方法:
(1)setFirstResult(int firstResult):设置返回的结果集从第几条记录开始。
(2)setMaxResults(int maxResults):设置本次查询返回的结果数目。
注意:HQL语句本身是不区分大小写的。也就是说,HQL语句的关键字、函数都是不区分大小写的。但HQL语句中所使用的包名、类名、实例名、属性名都是区分大小写。
分享到:
相关推荐
Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询....
HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按 如下步骤进行: (1)获取Hibernate Session对象; (2)编写HQL语句; (3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象; (4)...
hql模糊查询hql模糊查询hql模糊查询hql模糊查询
Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询...
HQL查询及语法,java web开发必备。
HQL查询 帮助文档
SSH笔记-HQL查询(基于位置参数查询、基于命名参数查询、分页查询、命名查询、投影查询报表查询、内/迫切内/左外/迫切左外连接查询)、QBC(QBC检索查询、统计查询、排序查询、HQL操作数据库)、本地SQL查询
HQL查询语言基础,HQL查询语言基础,HQL查询语言基础
HQL查询语言基础.
Hibernate hql查询语法总结 Hibernate hql查询语法总结
HQL快速入门的好资料,先看看此资料,在有手册就差不多了。
HibernateUtil分装完整版HQL查询HibernateUtil分装完整版HQL查询
Spring中常用的hql查询方法_(getHibernateTemplate())
hql多表查询hql多表查询hql多表查询
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
HQL多表查询
HQL查询是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念,HQL 是应用较为广泛的方式.这是本人对HQL知识点做的一个总结性的练习
hibernate hql各类查询范例
HQL是指定连接查询方式,而且显式指定了关联级别的查询策略
HQL查询