2012-05-29 13 views
10

Chcę wykonać mojej kwerendy HQL tak:Jak używać kolejności według HQL?

Query queryPayment=sixSession.createQuery("from Payment where vcode=:p_Vcode or (Installment_Vcode=:installmentVcode and payment_date>:pdate) order byvcode."+order +"desc") 
     .setParameter("p_Vcode", p_Vcode) 
     .setParameter("installmentVcode", installmentVcode) 
     .setParameter("pdate", pdate); 

ale nie rozpoznaje +order+
muszę klauzuli ORDER BY.

+2

Wygląda brakuje spacji przed „desc” shold być „desc” – oers

Odpowiedz

18

pojawia trzeba umieścić „zamówienie” w zapytaniu HSQL, ale z miejsca:

"from Payment where vcode=:p_Vcode or (Installment_Vcode=:installmentVcode and 
payment_date>:pdate) order by vcode desc" 
+0

Nie, zwraca błąd: – AFF

+0

błędu: org.hibernate.hql.ast.QuerySyntaxException: nieoczekiwany znak: zamów pobliżu linii 1 – AFF

+0

próbowałem to zapytanie: zapytanie queryPayment = sixSession.createQuery ("z UK, gdzie vcode =: p_Vcode lub (Installment_Vcode =: installmentVcode i PAYMENT_DATE>. activeupdate) zamówienie przez vcode "+ ład +" desc ") a błąd jest: błąd wywoływanie działania przy użyciu iniekcji Hibernate Rdzeń Session/transakcja org.hibernate.hql.ast.QuerySyntaxException: nieoczekiwany znak: kolejność pobliżu linii 1, kolumna 127 [z information.Payment gdzie vcode =: p_Vcode lub (Installment_Vcode =: installmentVcode i PAYMENT_DATE>: activeupdate) BY celu vcode przez vcode desc ] w org.hibernate.hql.ast.QuerySyntaxException.convert (QuerySyntaxExc – AFF

Powiązane problemy