【发布时间】:2015-09-22 14:10:12
【问题描述】:
我有两个实体:Profile 和 ProfileClubMapping。 ProfileClubMapping 由 Profile_ID、Club_ID 和 Status 组成。它用作连接表。 我现在想选择所有配置文件,如果存在具有特定 Club_ID 的 ProfileClubMapping。我成功写了一条SQL:
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条件为内连接,需要将where子句移到on子句。
-
你完全正确!解决了我的问题!
标签: mysql sql jpa eclipselink jpql