Hibernate Class Is Not Mapped
Hibernate Class Is Not Mapped ?
1.http://blog.csdn.net/mycxsky/archive/2008/12/02/3430131.aspx
好久没玩Hibernate了,都忘记了,今天碰到一个关于没有映射的错误,找了半天才发现原来是HQL的错误。
org.springframework.orm.hibernate3.HibernateQueryException: USERINFO is not mapped.
看到.hbm.xml文件中的
<hibernate-mapping package="form">
<class table="USERINFO" name="form.UserInfoForm">
<id type="java.lang.String" name="UserName">
</id>
配置一直以为所要的对象是table后的USERINFO表名;所以一直报错找不到相关的映射,终于明白原来HQL语句的表名语句不是table而是name属性
From UserInfoForm uif where ...
这里的核心思想是查看那name的属性,而不是直接使用类的名字或者是数据库中的表明。
2.http://blog.csdn.net/zxq1406spys/archive/2008/09/04/2881258.aspx
我用Hibernate实现一个教师的登陆过程,当我在JSP的登陆页面输入姓名和密码,点登陆后,显示登陆失败页,在服务器里显示如下的错误信息:
org.hibernate.hql.ast.QuerySyntaxException: teachers is not mapped. [from teache
rs tea where tea.name=:teaName and tea.password=:teaPassword]
HQL错了
因为Hibernate是对类查询的
在hql="from teachers tea where tea.name=:teaName and tea.password=:teaPassword";中,
teachers是数据库中的表,而teachers对应的类是Teachers.java,现在只需要将teachers改为Teachers就可以了,即
hql="from Teachers tea where tea.name=:teaName and tea.password=:teaPassword";
这个和上面的方法是大致相同的。
作者:许强1. 本博客中的文章均是个人在学习和项目开发中总结。其中难免存在不足之处 ,欢迎留言指正。 2. 本文版权归作者和博客园共有,转载时,请保留本文链接。