Возможен ли этот SQL-запрос в JPA2 critera API? - PullRequest
0 голосов
/ 20 января 2012

SELECT * ОТ tbl, ГДЕ версия = (SELECT MAX (версия) ОТ tbl, ГДЕ t2.entityId = t1.entityId)

Tbl описывает различные версии объектов, где каждая комбинация entityId и version уникальна.Я хочу найти самую высокую версию каждого entityId (всю строку, а не только номер версии).Это возможно с Criteria API?Единственное использование подзапросов, которые я видел, включает использование «IN», а не сравнение значений.Я также думал о преобразовании подзапроса в сложное LEFT JOIN, но Criteria API не поддерживает пользовательские операторы ON.

Возможно ли это?Я бы предпочел не использовать JPQL (если это возможно даже с JPQL) из-за того, что запрос очень динамический.

1 Ответ

0 голосов
/ 20 января 2012

Решено с использованием критерия Builder.in (путь). Значение (подзапрос).

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