public class Document extends Model {
...
@ManyToMany
public Set<User> accessors;
...
}
我想选择所有访问者包含特定用户的文档。 我只有最少的SQL经验,没有使用JPQL的经验。 那怎么办?
提前致谢
答案 0 :(得分:43)
SELECT d FROM Document AS d WHERE :user MEMBER OF d.accessors
应该是您需要的,它比连接表更简单。 只是不要忘记将用户用作参数而不是使用其id:
query.setParameter("user", user);
答案 1 :(得分:21)
select distinct d from Document d inner join d.accessors a where a.id = :id
您应该了解SQL如何工作,然后学习如何在JPQL中使用连接。这是至关重要的。你会在网上找到很多教程。谷歌是你的朋友。