JPA Criteria API объединяет таблицы с последними - PullRequest
0 голосов
/ 19 марта 2019

У меня есть 2 таблицы product и product_state. В таблице product_state хранятся все изменения состояния продукта.

Я хочу выбрать продукты с заданным состоянием (выбранные пользователем в пользовательском интерфейсе) с помощью API Criteria. Поэтому мне нужно объединить записи product с самой последней связанной записью product_state.

В простом SQL я использую это:

select p.*
from product as p
  left join (select *
             from product_state ps
             where ps.id = (select max(id)
                            from product_state ps2
                            where ps2.product_id = ps.product_id)
            ) as latest_product_state on latest_product_state.product_id = p.id;

Во всех других простых случаях я использую Criteria API для пользовательской фильтрации. Однако в этом случае я понятия не имею, как начать.

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