Hibernate外置命名查询报错:Named query not known: serachStu

2014-11-24 09:46:41 · 作者: · 浏览: 0

Hibernate提供了外置命名查询方式,将hql语句放在一个单独的文件中,而不是直接放在程序中。

我的代码:


[html]








select s from Student s where s.id>
]]>









select s from Student s where s.id>
]]>


结果在java测试类中执行


[java]
List list = session.getNamedQuery("serachStu").setParameter(0, 40).list();

List list = session.getNamedQuery("serachStu").setParameter(0, 40).list();
出现报错:

[html]
org.hibernate.MappingException: Named query not known: serachStu
at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:93)
……

org.hibernate.MappingException: Named query not known: serachStu
at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:93)
……
程序没有找到这个命名查询语句。这个错误的原因是

在映射文件中配置时,应该把他放在的外面。

改成:


[html]
SPAN style="FONT-SIZE: 14px">








select s from Student s where s.id>
]]>










select s from Student s where s.id>
]]>