我正在尝试在 Spring Boot 应用程序中开发关注者功能。我搜索示例,看到了这个,一开始就很有意义:
我的用户有一个多对多的关注关系,就像这样......
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "relation",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "following_id"))
private List<User> following;
我开发了 Controller 、JSP 和表格,并且可以很好地查看您正在关注哪个用户,但当我尝试开发关注者时,问题就出现了。
User_id Following_id
1 2
1 3
1 4
1 6
2 4
2 6
- User_ID=1 是以下用户:2、3、4&6
- User_ID=4 拥有关注者:1 和 2
我如何在该表中查询 user_id=4 的关注者?
我认为我应该使用 FollowerService 和 DAO,但我意识到我没有可以使用它的 bean。 我认为我可以做到这一点的唯一方法是获取所有表并开始搜索某个 follow_id 的所有出现,以查看 user_id 是关注者。
我找不到简单的方法来做到这一点。你认为我应该创建一个 bean 吗?如何?谢谢
最佳答案
创建相反的关系,如下所示:
@ManyToMany(mappedBy = "following")
private List<User> followers;
您可以通过 followers
字段获取 id = 4
用户的关注者。
关于java - Spring 关注关注者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44331694/