2012-03-19 70 views
0

nameFilter是一個字符串HQL和LIKE關鍵字

mo.name是一個字符串太

getEntityManager() 
       .createQuery(
         "select mo from MyObject mo JOIN mo.someOtherObject.product p where p=:product and mo.someEnum=:someEnum and mo.name like :name orderBy :sortField :sortOrder") 
       .setParameter("name", "%"+nameFilter+"%") 
       .setParameter("someEnum", SomeEnum.BlueOne) 
       .setParameter("product", product) 
       .setParameter("sortField", sortField) 
       .setParameter("sortOrder", sortOrder).setFirstResult(first) 
       .setMaxResults(pageSize).getResultList(); 

對於上面的代碼我收到錯誤意外的標記排序依據。

我應該怎麼辦?

我搜索使用像在hql中,但發現太少的東西。

感謝

回答

0

有一個在HQL沒有orderBy關鍵字。你應該寫order by(兩個字)。

1

通過hql語句在您的訂單中放入一個空格。