У меня есть следующие три таблицы, которые необходимо оставить объединенными для получения подробностей.
Таблица A
messageId |имя отправителя
Таблица B
messageId |содержимое
Таблица C
messageId |eventTime |status
Таблица A и Таблица B имеют отношение один к одному, а Таблица A и Таблица C имеют отношение один ко многим. Мне нужно создать левое объединение для всех 3 таблиц, чтобы получить значения для всех таблиц с последним статусом из таблицы C
Идентификатор сообщения будет в таблицах, как показано ниже
Я создал следующий запрос JPQL, который могу использовать для извлечения всех трех сущностей.
select d, e, s from TableA a
left join TableB b on a.messageId = b.messageId
left join TableC c on a.messageId = c.messageId
and c.status = (select st.status from TableC st where st.messageId = a.messageId order by st.eventTime DESC limit 1)
Но из-за ограничения, которое я использовал в запросе, я не могузапустить как запрос JPQL. Можно ли отформатировать этот запрос, чтобы он выполнялся как запрос JPQL? (кроме собственного запроса в JPA)