0

ユーザーモデルがあり、システムはユーザーが相互にフォローできるようにします。そこで、以下のように User モデルに 2 つのリストを入れました:</p>

@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 は適切でない可能性があります。また、設計に関する提案はありますか?

前もって感謝します。

4

1 に答える 1

0

これを試してSELECT COUNT(fu) FROM User AS u INNER JOIN u.followedUsers AS fu;

于 2012-10-15T13:32:34.750 に答える