繁体   English   中英

如何编写HQL以查询多对多?

[英]How do I write the HQL to query the many to many?

我有用户模型,系统允许用户互相关注。 因此,我在用户模型中放置了两个列表,如下所示:

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "t_user_t_followingUser", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = { @JoinColumn(name = "followingUser_id") })
public List<User> getFollowingUsers() {
    return followingUsers;
}

public void setFollowingUsers(List<User> followingUsers) {
    this.followingUsers = followingUsers;
}

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "t_user_t_followedUser", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = { @JoinColumn(name = "followedUser_id") })
public List<User> getFollowedUsers() {
    return followedUsers;
}

public void setFollowedUsers(List<User> followedUsers) {
    this.followedUsers = followedUsers;
}

现在,我想获得用户u的全部关注者。 如何编写HQL?

ps:many2many可能不合适,对设计有什么建议吗?

提前致谢。

尝试SELECT COUNT(fu) FROM User AS u INNER JOIN u.followedUsers AS fu;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM