У меня есть требование, когда мне нужно ограничить количество записей, возвращенных из таблицы для определенного флага, и всех записей для другого значения флага.Union in JPA query - из той же таблицы
Например: contact-history
таблица имеет элемент с именем IorM_flg
с возможными значениями «m» и «o».
Мне нужно вернуть только 10 записей 'o' и всех записей 'm'.
Я собирался написать запрос с объединением для этого. Что-то вроде этого:
select ch from contact_history where ch.rownum <= 10 and ch.IorM_flg = 'o'
Union All
select ch from contact_history where ch.IorM_flg != 'o'
Возможно ли это? Обратите внимание, что это запрос JPA. (contact_history - это имя объекта)
Любые другие предложения лучше всего приветствуются!
Если это возможно, я бы рекомендовал не использовать 'JPA', так как это очень ограничено, и применимо только к довольно простых' O/r' отображений. Чтобы иметь большую гибкость, я бы рекомендовал использовать 'Apache dbUtils' или Spring' JdbcTemplate', которые похожи. Кроме того, есть 'JOOQ', который выглядит как хорошая альтернатива, но я не пробовал его глубже. – Yura