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()