日期:2014-05-16  浏览次数:20418 次

org.hibernate.MappingException: Named query not known: XXXX 解决办法
最近使用公司3.0平台弄一个异常简单的AMD模块,结果老是报org.hibernate.MappingException: Named query not known错误,换成已有的XXXX,则不报错,按照作者esffor的解决方式,如下所示:

HibernateXML
org.hibernate.MappingException: Named query not known:  XXXx 解决办法

错误解决办法:

1:检查 <query name="XXXX">  中的 XXXX  是否和程序中用到一致

session.getNamedQuery("XXXX");

2 :<query name="XXXX">   所在 hbm.xml 是否已经在 hibernate.cfg.xml 中注册。

3:<query name="XXXX"> 的位置放错了,应该是放在和<class> 同一级。

这样的: </class>
         <query name="XXXX">

问题依然没有解决。结果跑到部署的目录下去找配置文件,发现根本没有部署过去,一看才知道最开始的一个很不小心的举动导致了工程不能正常部署。就是不小心在工程的src目录下建立了一个Source Folder,结果又手动删除了,但是.classpath文件中并没有自动删除,导致工程不能正常部署了。于是有了上面的错误提示。。。
    突然悟道:报这种类似的错误前,还不在于考虑到底有没有配置错误,关键是看有没有部署过去。有了这个前提再去看配置问题。