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]
select s from Student s where s.id>
]]>
select s from Student s where s.id>
]]>