HQL

HQL 是面向对象的查询语言,它SQL语言有些相似.Hibernate根据映射文件配置的映射信息,把HQL查询语句转换为SQL查询语句,并且JDBC ResultSet结果集映射为关联的对象图。由此可见,Hibernate封装了JDBC API查询数据库的细节。在Hibernate提供的各种检索方式中,HQL检索方式是使用最广泛的一种检索方式他具备以下功能:

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

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

  3、支持分页查询

  4、支持连接查询

  5、支持分组查询,允许使用having和group by关键字

  6、提供内置聚集函数,例如sum()、min()、和max()

  7、能够调用用户定义的SQL函数

  8、支持子查询,即嵌入式查询

  9、支持动态绑定参数

Session类的Query接口支持HQL检索方式,它具有动态绑定参数的功能,提供了以下的各种功能。在HQL语句中查询的是对象,所以在HQL中查询的是与表对应的POJO类的名字及类中的属性,而不是表的名字和字段的名字。

  使用HQL查询的步骤如下:

  1、获取Hibernate Session对象

  2、编写HQL查询语句的字符串

  3、以HQL语句作为参数,调用Session的createQuery方法创建查询对象

  4、如果HQL语句包含参数,则调用Query的set***方法为参数赋值

  5、调用Query对象的list等方法返回查询结果列表

posted @ 2015-06-12 08:44  一级菜鸟  阅读(427)  评论(0编辑  收藏  举报