今天上午本身试着用Hibernate去搭建一个Web工程,而后去实现一个简单的查找操做。sql
经过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是数据库表名app
Student是映射的类名。spa
总结:HQL里的sql语句 from后面用的名称是ORM 里与表名映射的 类名,不是普通的表名。与SQL语句有必定的区别。get