内部ジョインにHQLを実行できません。クエリはSQLでは正しく実行されますが、HQLでは正しく実行されません。 私はどこに行方がわからないのですか?あなたの助けは相当なものです。HQL内の内部ジョインのクエリ
***Error***: 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]
productList = (List<Orders>) 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();
それはまだ働いていません。 SELECT op.username、op.email、orders.p_id、受注。o_id注文からの」+ \t \t \t \t \tは "" + \t \t \t \t \t "インナーOPとしてorder.orderProcessingをJOIN" + \t \t \t \t \t "内積" + \t \tとしてorder.product結合順序"product.p_id =" + P_ID + \t \t \t \t \t \t 0 "ORDER BY op.username –
文字列の連結がコードから直接取られている場合は、_where_および_order by_句の前に_from Orders order_の前後にいくつかのスペースがありません。それが問題ではない場合は、誰かが何が起こっているのかを把握する前にエラーを投稿する必要があります(可能な場合はビジネスオブジェクトのマッピング/構造) – Grim
org.hibernate.hql.ast.QuerySyntaxError:予期しないトークン:1行目、60列目のオーダー[SELECT op.username、op.email、orders.p_id、orders.o_idFROMオーダーorderINNER JOIN order.orderProcessing with op INNER JOIN order.product as productWhere product.p_id = 208ORDER BY op.username] –