HQL数据查询基础

来源:互联网 发布:linux awk命令详解 编辑:程序博客网 时间:2024/06/06 21:38

HQL的定义:Hibernate  Query Language是面向对象的查询语言,映射的持久层的类,Hibernate可以自行把HQL转化为SQL,从而进行操作。

注意:HQL映射的是持久层的类,而SQL映射的数据表。

初学HQL要注意的问题:

1.HQL是面向对象的查询语言,对Java类和属性的大小写敏感。

   SQL是面向数据库的查询语言,对表名,列名不敏感。

2.HQL对关键字不区分大小写,如select ,from ,where ,group by,having ,order by 等

Query接口简介:

  1. Query接口定义有执行查询方法。
  2. Query接口支持方法链编程风格。


几个查询语句:

1.多表查询(两表连接)

得到商品信息的同时得到买家的名字。如果两表关联,没有强制输出外键信息,那么Hibernate将不会执行多表查询,如果想得到外键信息,Hibernate将自动执行,这就是所谓的软查询

hql="from com.neusoft.vo.Commdity";和hql="from Commdity";实现的效果是一样的,这也就说明了HQL是面向对象的查询语言。

hql="from Commdity as c";说明可以给表加别名,这样可以在进行多表连接的时候,避免两表中的有些列名相同的情况。

2.当只查询出一个属性的时候,返回的是对象,结果用对象接收,不然将会报错。


3.list返回结果,map返回结果,这两种没有插入,看习惯。

4.以自定义的类型,用构造方法实现





提问:如果已经写了构造器,是否还需要原来的无参构造?

           答案是肯定需要的,在指定自定义的构造器时,HIbernate会调用它的有参构造,若不指定,Hibernate将调用默认的无参构造,即当查询表中所有信息时,没有 

           指定构造器,所以他调用的默认的无参构造。

5.where子句:逻辑表达式,设置查询条件,限制返回结果。

如比较运算符,范围运算,模糊查询,集合运算,四则运算

0 0
原创粉丝点击