Я задавался вопросом, как это сделать в JPA, если я хочу позвонить NamedQuery
, хранящимся в сущности с разными настройками, например, для DESC или ASC для использования таким образом, как для параметров (setParameter()
). Например, это не работает:JPA: параметр NamedQuery в строке запроса для коммутаторов
@NamedQuery(name = "Entry.findAll", query = "SELECT e FROM Entry e WHERE e.switch = :switch ORDER BY e.name :order)
Это действительно единственный способ использовать два запроса, как:
@NamedQuery(name = "Entry.findAllDESC", query = "SELECT e FROM Entry e WHERE e.switch = :switch ORDER BY e.name DESC)
@NamedQuery(name = "Entry.findAllASC", query = "SELECT e FROM Entry e WHERE e.switch = :switch ORDER BY e.name ASC)
или генерировать строку запроса в коде?
Я задавался вопросом, что я не нашел пути, потому что в большинстве запросов мне приходится менять такие вещи, и это создало бы стиль программирования, в котором я предпочитаю использовать центральные NamedQueries
, хранящиеся в сущности, почти невозможно.
Возможные дубликаты + ответы: http://stackoverflow.com/questions/4120388/hibernate-named-query-order-by-partameter – Magnilex