将SQL转换为JPA QL

时间:2019-02-06 09:57:15

标签: sql jql

我有一个连接三个表的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

1 个答案:

答案 0 :(得分:0)

这可以解决问题....

select distinct p 
from Project, 
Account a, 
User u 
join a.projects p 
join u.accounts a where u.id = :id

如果有人有更好的一个,我会很感兴趣:)