今天写了一句超级简单的HQL语句,竟然报错
String hql = "from Book where Book.ISBN=?";
Query query = session.createQuery(hql);
query.setString(0, "7-02-002475-0");
List<Book> list = query.list();
for(Book l : list) {
System.out.println(l);
}
就一个Book实体类,错误信息如下
org.hibernate.QueryException: Unable to resolve path [Book.ISBN], unexpected token
[Book] [from cn.sobook.model.Book where Book.ISBN=?]
at org.hibernate.hql.ast.tree.IdentNode.resolveAsNakedComponentPropertyRefLHS(IdentNode.java:219)
=
混乱中采用别名,很和谐。
String hql = "from Book a where a.ISBN=?";
本文通过一个简单的HQL示例,展示了如何解决由于路径解析错误导致的问题。在尝试直接使用类名作为属性前缀时遇到了异常,通过引入别名的方式成功解决了这一问题。
1241

被折叠的 条评论
为什么被折叠?



