Я пытаюсь написать следующий SQL запрос с использованием JPA Criteria APIJPA Критерии: в пункте со многими колоннами
SELECT * FROM Table1 a
WHERE (a.category, a.priority) IN (
SELECT a1.category, max(a1.priority) FROM Table1 a1 GROUP BY a1.category
)
Функционально запрос выберите элемент Table1 с наивысшим приоритетом для каждой категории.
categoryPriority = // defines the pair category/priority
mySubQuery = // defines the subquery
query.where(categoryPriority.in(mySubQuery)
Это схематически то, что я ищу.
Определение подзапроса не является проблемой, поскольку оно хорошо документировано.
Но я не могу найти способ определить пару (a.category, a.priority).
Спасибо вам за ваш ответ. Поскольку я не хочу использовать собственные запросы, я заменил большую часть столбца на уродливую конкатенацию значения столбцов категории и приоритета, но я немного разочарован. –