首页 > 代码库 > 使用hql查询时的异常:Xxx is not mapped[from Xxx where ...]
使用hql查询时的异常:Xxx is not mapped[from Xxx where ...]
今天项目中使用hql查询时,出现 QingAoCenterInfo is not mapped[from QingAoCenterInfo where...]
显然是Hibernate映射关系出现了问题。
出现这种异常首先要查看查询语句中是否使用了数据库表中的表名,而不是实体类。
查看我的代码:
centerList = manager.find("from QingAoCenterInfo center where center.type = ? and center.centerName = ?", new Object[]{type,centerName});
。。。。。
最后发现了问题所在,hql查询时使用的from Xxx,Xxx不是实体类的名称,而是EntityName(Hibernate注解)。
如:
@Entity @Table(name="QING_AO_CENTER_INFO") public class QingAoCenterInfo { ...... }此处,@Entity后并没有显示的指明EntityName,因此默认采用实体类的名称。
我的代码中:
@Entity(name="QING_AO_CENTER_INFO") @Table(name="QING_AO_CENTER_INFO") public class QingAoCenterInfo { ...... }
可以发现,显示地指明了EntityName,因此在使用hql查询的时候,要from QING_AO_CENTER_INFO,而不是from QingAoCenterInfo ;
centerList = manager.find("from QING_AO_CENTER_INFO center where center.type = ? and center.centerName = ?", new Object[]{type,centerName});
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。