Можно ли удалить заказ из Критерии гибернации? - PullRequest
8 голосов
/ 21 сентября 2010

Если у меня есть аннотация @OrderBy ("someProperty") для объекта, а затем я использую критерии для добавления предложения ORDER BY, например:

criteria.addOrder(Order.asc("id"));

Результирующий SQL будет выполнять порядок следующим образом:

ORDER BY someProperty, id asc

Можно ли изменить порядок двух или удалить порядок someProperty? Я не могу удалить аннотацию @OrderBy, и я использую Hibernate для Java.

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Критерии не имеет методов для удаления Порядка ни Критерий Порядка класс очень ограничен, вы можете использовать только имена свойств ион генерирует стандартный и переносимый SQL.Аннотация OrderBy является заказом SQL, как заявляет Javadoc: OrderBy Это означает, что вы можете использовать любой SQL (даже эксклюзивный поставщик вашей базы данных).Взгляните на эту статью: Сортировка коллекций в Hibernate Использование SQL в @ OrderBy

Добавление фрагмента SQL в класс вашего домена не обязательно самая элегантная вещь в мире, но это может быть самой прагматичной вещью.

1 голос
/ 11 марта 2013

Может быть возможно удалить конкретный порядок с помощью итератора crit.iterateOrderings (), но я не уверен, как он работает с аннотациями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...