0

エラー:

org.hibernate.hql.ast.QuerySyntaxError: 予期しないトークン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.ユーザー名]

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();
4

3 に答える 3

1

結合制限は Hibernate でサポートされていますが、構文は SQL と同じではありません。HibernateでONキーワードを byに置き換える必要があります。WITH

于 2013-02-26T08:34:03.330 に答える
0
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();

Ordersテーブルを確認する必要があります。orders.orderProcessingは、ordersテーブルの列であるテーブルではありません。

于 2013-02-26T06:45:45.983 に答える
0

Chetter Hummin の言うとおりです。"on" は HQL ではサポートされていません。これを参照してください: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html

于 2013-02-26T07:07:13.383 に答える