hql命名查询实例介绍



hql命名查询,HQL支持将查询所用的HQL语句放入配置文件中,而不是代码中。

在Hibernate映射文件的<hibernate-mapping/>元素中使用<query/>子元素来定义命名查询,使用<query/>元素只需要指定一个name属性,指定该命名查询的名字。该元素的内容就是命名查询的HQL语句。如下配置文件片段:

<query name=”myNameQuery”>

from Person as p where p.age > ?

</query>

配置好后,通过Session提供的一个getNameQuery(String name)方法,该方法用于创建一个Query对象,剩下的操作与普通HQL完全一样。如下所示:

List p1 = sess.getNamedQuery(“myNameQuery”).setInteger(0,20).list()