У меня есть два объекта JPA:
- Расписание (содержащий список резервирований)
- Бронирование (содержит поле Date: Date resDate)
Моя цель состоит в том, чтобы получить только резервирование, соответствующее параметру даты (schedDate), при получении всех расписаний независимо от того, существует ли резервирование или нет в данную дату.
Итак, я написал:
SELECT s FROM Schedule as s LEFT JOIN s.reservations as r WHERE r.resDate = :planningDate order by s.startHour
Почему нет расписаний, без оговорок на эту дату, извлеченных, несмотря на мою ЛЕВУЮ СОГЛАШЕНИЕ?
Вероятно, как и родные запросы, LEFT JOIN выглядит как INNER JOIN при объединении с предложением WHERE.
Итак, как можно изменить запрос для выполнения моего требования? Я не нашел особую функцию в JPQL.