У меня есть два объекта: Профиль & ProfileClubMapping. ПрофильКоллекция состоит из: Profile_ID, Club_ID и Status. Он используется как таблица соединений. Теперь я хочу выбрать все профили и при наличии профиля ProfileClubMapping с определенным Club_ID. Я успешно написал SQL:SQL to JPQL left join with is null
SELECT p.LASTNAME, pcm.STATUS FROM PROFILE p
LEFT JOIN PROFILECLUBMAPPING pcm ON pcm.PROFILE_ID = p.ID AND pcm.CLUB_ID = 480
Но у меня возникли проблемы с преобразованием его в jpql. Я пытался что-то вроде этого:
SELECT p.username,pcm FROM Profile p
LEFT JOIN ProfileClubMapping pcm ON pcm.profile = p
WHERE pcm.club.id = 480 OR pcm is null
Единственное, что отсутствует являются профили, которые уже не надо никакого ProfileClubMapping вообще. У вас есть идея?
Левое соединение с условием внутреннего соединения, вам нужно переместить предложение where в положение on. –
вы совершенно правы! решил мою проблему! – perotom