Hibernate HQL基础 使用命名的HQL
时间:2010-10-10 来源:juxiangwu
为获取得最大的可配置性和灵活性,还可以命名HQL语句后写到对应的持久化类的映射文件中。在映射文件中使用<query>标签定义命名的HQL语句,HQL语句需要写到“<![CDATA["与"]]>”中。如:
<query name="com.kkoolerter.beans.Guestbook.selectGuestbook">
<![CDATA[select gb from Guestbook gb where gb.id between:begin and :end]]>
</query>
<query>标签在映射文件中的位置在<hibernate-mapping>标签的<class>标签之后。<query>标签的name属性用来设置命名HQL语句的名称,使用命名的HQL语句如下所示:
public void testNamedHQL(){
Session session = null;
session = HibernateUtils.getCurrentSession();
Query query = session.getNamedQuery("com.kkoolerter.beans.Guestbook.selectGuestbooks");
query.setInteger("begin", 1);
query.setInteger("end", 10);
List<Guestbook> list = query.list();
session.close();
for(Guestbook gb : list){
System.out.println(gb.toString());
}
}
<query name="com.kkoolerter.beans.Guestbook.selectGuestbook">
<![CDATA[select gb from Guestbook gb where gb.id between:begin and :end]]>
</query>
<query>标签在映射文件中的位置在<hibernate-mapping>标签的<class>标签之后。<query>标签的name属性用来设置命名HQL语句的名称,使用命名的HQL语句如下所示:
public void testNamedHQL(){
Session session = null;
session = HibernateUtils.getCurrentSession();
Query query = session.getNamedQuery("com.kkoolerter.beans.Guestbook.selectGuestbooks");
query.setInteger("begin", 1);
query.setInteger("end", 10);
List<Guestbook> list = query.list();
session.close();
for(Guestbook gb : list){
System.out.println(gb.toString());
}
}
相关阅读 更多 +