您的位置:首页 > 产品设计 > UI/UE

SSH项目,hibernate的查询操作出错org.hibernate.hql.ast.QuerySyntaxException

2018-02-27 15:03 627 查看
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select *from Employee]

org.hibernate.hql.ast.QuerySyntaxException: employee is not mapped [from employee]

一.如果在调用HQL的时候查询数据库里面的字段, 
例如:  String hql=“select *from XXX(表名)”, 这个情况,因为hibernate框架用的是HQL语句去操作数据库,但是我们在创建传入的hql用的是sql语句,这时候就会报以下错误:
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select *from Employee]

尽管设置sql方言,但是依然会出这样的错误,这时候最好直接把“ select *from XXX ”改为标准的hql格式:“ from  XXX”
二.如果按照上面的方式已经把查询语句按照hql的格式编写了,若出现以下错误:
org.hibernate.hql.ast.QuerySyntaxException: employee is not mapped [from employee]

这时候是因为,
hibernate框架查询语句里面from后面的名称对应的不是数据库表里面的表名,而是当初建domain的实体类的的名称;因为hibernate框架的数据库字段都是在XXX.hbm.xml里面配置的,而这个XXX.hbm.xml配置文件里面:
例如:<class  name="Employee" table="employee">
配置的实体类名是:  Employee ,然后对应的表是: employee 。
所以我们在用hibernate框架的时候,查询就应该写成 “from Employee”  就可以解决问题了。
这里的Employee 是实体类的名称!!!!这个是重点!!!!!!!
这里的Employee 是实体类的名称!!!!这个是重点!!!!!!!

这里的Employee 是实体类的名称!!!!这个是重点!!!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐