2012-03-19 74 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语句在您的订单中放入一个空格。