关于Hibernate中的XXXX is not mapped问题

 今天上午自己试着用Hibernate去搭建一个Web工程,然后去实现一个简单的查找操作。

通过Hibernate做查询操作的时候总是报出这样的错:
student is not mapped.

 于是乎去检查了下映射,发现没问题呀,反复验证结果还是一样报错。
在网上找了很多,但还是不给力,大家都没提些有建设性的解决方案,基本上都是说配置有问题。
不过自己感觉是这个出问题:
String sql = "select age ,name from student s where s.name='" +user.getUsername()+ "'";
经过多番纠结和耐心查找资料,发现:
原来 HQL语句中表名应该是ORM映射的类名,所以应该改成:
String sql = "select age ,name from Student s where s.name='" +user.getUsername()+ "'";

student是数据库表名

Student是映射的类名。

总结:HQL里的sql语句 from后面用的名称是ORM 里与表名映射的 类名,不是普通的表名。与SQL语句有一定的区别。


你可能感兴趣的:(Hibernate)