Hibernate HQL语言外置命名查询实例。
外置命名查询:
* 在映射文件中采用<query>标签来定义hql
* 在程序中采用session.getNamedQuery()方法得到hql查询串
HQL语言外置命名查询例子代码如下:
映射文件:
<!— name属性值必须是唯一,可以放在任意映射文件, 建议放在一个专门放命名查询的映射文件 –> <query name=”searchStudents”> <![CDATA[ SELECT s FROM Student s where s.id<? ]]> </query> 客户端测试代码: /** * 外置命名查询 * @author Administrator */ public class NameQueryTest extends TestCase { public void testQuery1() { Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); List students = session.getNamedQuery(“searchStudents”) .setParameter(0, 10) .list(); for (Iterator iter=students.iterator(); iter.hasNext();) { Student student = (Student)iter.next(); System.out.println(student.getName()); } session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateUtils.closeSession(session); } } } |