外置命名查询
* 在要查询对象对应的映射文件(这里是student.hbm.xml)中采用<query>标签来定义hql
[b]<query name="searchStudents">
<![CDATA[
select s from Student s where s.id<?
]]>
</query>[/b]
* 在程序中使用session.getNamedQuery()来得到hql查询串
参见:NameQueryTest.java
* 在要查询对象对应的映射文件(这里是student.hbm.xml)中采用<query>标签来定义hql
[b]<query name="searchStudents">
<![CDATA[
select s from Student s where s.id<?
]]>
</query>[/b]
* 在程序中使用session.getNamedQuery()来得到hql查询串
参见:NameQueryTest.java
package com.wlh.hibernate;
import java.util.Iterator;
import java.util.List;
import junit.framework.TestCase;
import org.hibernate.Session;
public class NameQueryTest extends TestCase{
public void testQuery1() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
List students=session.getNamedQuery("studentQuery")
.setParameter(0, 10)
.list();
for(Iterator iter=students.iterator();iter.hasNext();){
Student o=(Student)iter.next();
System.out.println("name="+o.getName());
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
}