一、HQL中的命名查询
在class配置文件外
<query name="findEmpById">
<![CDATA[from Emp where empNo=:empNo]]>
</query>
@org.junit.Test
//HQL命名查询,通过配置文件
public void findEmpById(){
session=HibernateUtil.getSession();
Query query=session.getNamedQuery("findEmpById");
query.setParameter("empNo", 7788);
List<Emp> elist=query.list();
for (Emp e : elist) {
System.out.println(e.getEname() + " : " + e.getSal());
}
HibernateUtil.closeSession();
}
二、原生SQL的命名查询
在class配置文件外
<sql-query name="selectEmpByJob">
<return alias="e" class="entity.Emp"></return>
select {e.*} from EMP e where e.job=:job
</sql-query>
//原生SQL的命名查询,通过配置文件
public void selectEmpByJob(){
session=HibernateUtil.getSession();
Query query=session.getNamedQuery("selectEmpByJob");
query.setParameter("job", "CLERK");
List<Emp> elist=query.list();
for (Emp e : elist) {
System.out.println(e.getEname() + " : " + e.getSal());
}
HibernateUtil.closeSession();
}