Динамический порядок в JPA / Hibernate? - PullRequest
3 голосов
/ 13 января 2010

Запрос наивной попытки будет выглядеть так:

Query query = em.createQuery("from org.domain.Resource r where r._parent = ? order by ?");

Это не работает, так как параметры должны быть данными, а не именами столбцов или синтаксисом, таким как ASC или DESC.

Какие обходные пути вы нашли для этого динамического заказа? Конкатенация строки заказа к строке запроса очевидна, но есть ли лучшие?

1 Ответ

3 голосов
/ 20 февраля 2010

Это, к сожалению, как это должно быть сделано с JPA.

Однако я смутно помню, что использовал нумерованные параметры (? 1,? 2 ..) для упорядочивания с нативными запросами ( em.createNativeQuery ) в Hibernate (но я могу ошибаться). В любом случае, другим решением (если вы используете JPA2 или Hibernate) является использование критериев API

...