[英]Error: org.hibernate.hql.ast.QuerySyntaxError: unexpected token
Error: 错误:
org.hibernate.hql.ast.QuerySyntaxError: unexpected token org.hibernate.hql.ast.QuerySyntaxError: unexpected token: ON near line 1, column 148 [SELECT op.username, op.email, orders.p_id, orders.o_id, product.listed_price FROM com.model.Orders orders INNER JOIN orders.OrderProcessing as op ON op.u_id = orders.u_id INNER JOIN orders.Product as product ON product.p_id = orders.p_id WHERE product.p_id = '208' ORDER BY op.username]
org.hibernate.hql.ast.QuerySyntaxError:意外令牌org.hibernate.hql.ast.QuerySyntaxError:意外令牌:在第1行第148列附近打开[SELECT op.username,op.email,orders.p_id,orders.o_id, product.listed_price FROM com.model op.username]
productList =
(List<Object[]>) session.createQuery("SELECT op.username, op.email, orders.p_id, orders.o_id, product.listed_price " +
"FROM Orders orders " +
"INNER JOIN orders.OrderProcessing as op " +
"ON op.u_id = orders.u_id " +
"INNER JOIN orders.Product as product " +
"ON product.p_id = orders.p_id " +
"WHERE product.p_id = '"+p_id +"' " +
"ORDER BY op.username").list();
Join restrictions are supported by Hibernate but the syntax is not the same than SQL. Hibernate支持联接限制,但是语法与SQL不同。 You have to replace the
ON
keyword by WITH
in Hibernate ! 在Hibernate中,您必须用
WITH
替换ON
关键字!
productList = (List<Object[]>) session.createQuery("SELECT op.username, op.email, orders.p_id, orders.o_id, product.listed_price " + "FROM Orders orders " +"INNER JOIN orders.OrderProcessing as op " + "ON op.u_id = orders.u_id"+ "INNER JOIN orders.Product as product " + "ON product.p_id = orders.p_id "+ "WHERE product.p_id = '"+p_id +"'" "ORDER BY op.username").list();
You have to check the Orders table. 您必须检查订单表。 orders.orderProcessing is not a table its a column from orders table.
orders.orderProcessing不是一个表,它是orders表的一列。
Chetter Hummin is right, "on" isn't supported in HQL. Chetter Hummin是正确的,HQL不支持“ on”。 See this: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html
看到这个: http : //docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.