我有一个连接三个表的SQL查询。我想为用户帐户选择所有项目的地方。
即给我所有特定用户的项目...
用户=>帐户(很多),帐户=>项目(1到很多)
用户=>使用联接表管理多对多帐户。
这是我的SQL
select UA.user_id, m.PROJECT_ID, m.name, m.description
from Project AS m INNER JOIN Account
AS a on m.ACCOUNT_ID = a.ACCOUNT_ID
INNER JOIN User_Account UA ON a.ACCOUNT_ID = UA.ACCOUNT_ID
WHERE UA.USER_ID = ?1
哪个退回项目。
我想将此查询转换为JPA QL,但真的不知道从哪里开始,有人可以帮忙吗?
谢谢
解决方案:
select distinct p from Project, Account a, User u join a.projects p join u.accounts a where u.id = :id
答案 0 :(得分:0)
这可以解决问题....
select distinct p
from Project,
Account a,
User u
join a.projects p
join u.accounts a where u.id = :id
如果有人有更好的一个,我会很感兴趣:)