HQL и ключевое слово Like - PullRequest
0 голосов
/ 19 марта 2012

nameFilter - это строка

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, но нашел слишком мало вещей.

Спасибо

Ответы [ 2 ]

1 голос
/ 19 марта 2012

ставьте пробел в вашем порядке в выражении hql.

0 голосов
/ 19 марта 2012

В HQL нет ключевого слова orderBy.Вы должны написать order by (два слова).

...