将SQL join语句转换为JPQL

时间:2012-07-13 08:39:16

标签: java-ee jpql

我有3个表格,结构如下。

用户

UID 用户名 密码

朋友

ID UID FID

发布

PID UID MSG

我想查找用户朋友所做的所有帖子。在SQL中,我使用以下语句提取它:

SELECT post.* FROM Post 
INNER JOIN Friend f ON f.fid = post.uid 
INNER JOIN User u ON f.uid = u.uid
WHERE u.uid = 1;

如何将其转换为JPQL?

1 个答案:

答案 0 :(得分:0)

JPQL查询实体及其关联,你还没有描述它们,所以有点难以说。但假设一个帖子有一个朋友的ManyToOne,而一个朋友有一个用户的ManyToMany,则查询将是:

select post from Post post
inner join post.friend friend
inner join friend.users user
where user.uid = 1