在映射文件中得到hql语句

来源:互联网 发布:好看的照相软件 编辑:程序博客网 时间:2024/05/17 09:17
一 简介
可以从映射文件中得到hql,执行查询语句,这样可以更加灵活,在某些情况下,可以考虑使用:比如在: Student.hbm.xml 中
<query name="myquerytest"><![CDATA[select sname,ssex from Student where sage>22]]></query>
如何使用:
List list=session.getNamedQuery("myquerytest").list();    System.out.println(list.size());    Iterator it=list.iterator();    while(it.hasNext()){        Object obj[]=(Object[])it.next();        System.out.println("n="+obj[0]);}
二 实例
package com.cakin.view;import java.util.Iterator;import java.util.List;import java.util.Set;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import com.cakin.util.HibernateUtil;import com.sina.domain.Studcourse;import com.sina.domain.Student;public class TestMain {      public static void main(String[] args) {        //这我们举例说明hql使用        Session session=null;        Transaction tx=null;        try {            session=HibernateUtil.getCurrentSession();            tx=session.beginTransaction();            List list=session.getNamedQuery("myquerytest").list();            System.out.println(list.size());            Iterator it=list.iterator();            while(it.hasNext()){                Object obj[]=(Object[])it.next();                System.out.println("n="+obj[0]);                }            tx.commit();        } catch (Exception e) {            e.printStackTrace();            if(tx!=null){                tx.rollback();            }            throw new RuntimeException(e.getMessage());            // TODO: handle exception        }finally{            if(session!=null&&session.isOpen()){                session.close();            }        }    }}
三 测试结果
4
n=林青霞
n=刘德华
n=林可欣
n=周华健
原创粉丝点击