一、报错:org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped [FROM XXX WHERE owner = ?1]
具体报错:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: student is not mapped [FROM student WHERE owner = ?1]
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: qrsfj is not mapped [FROM qrsfj WHERE owner = ?1]
二、原因:hibernate的hql查询语句是面向对象的,而不是面向数据库(即它直接操作的是实体类),所以在hql语句中要查询的实体类名,和查询结果要封装成的对象名要一致。
> 错误示例:
String hql = “FROM student WHERE name= ?1”;
List<Student > students = getDao().findAll(Student.class, hql, “小明”);
> 正确示例:
String hql = “FROM Student WHERE name= ?1”;
List<Student > students = getDao().findAll(Student.class, hql, “小明”);
三个”Student”要一样,这里的“Student”,是类,而不是数据库表名,特别要注意,区!分!大!小!写!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117807.html