我正在制作一个Twitter克隆。
加入表创建了一个使用user_id
和follower_id
following
表 @ManyToMany(fetch = FetchType.EAGER, cascade = [CascadeType.PERSIST])
@JoinTable(
name = "following",
joinColumns = [(JoinColumn(name = "user_id", referencedColumnName = "id"))],
inverseJoinColumns = [(JoinColumn(name = "follower_id", referencedColumnName = "id"))]
)
var following: List<User> = emptyList()
以下查询给我我的追随者
SELECT * FROM users WHERE id = (SELECT user_id FROM following WHERE `follower_id` = 1)
如何在我的实体中实现此查询?
查看ManyTomany上的Mappedby属性。https://docs.jboss.org/hibernate/jpa/2.1/api/javax/persistence/manytomany.html您可以在实体课程中添加一个其他字段,以完成您想要的内容。
@ManyToMany(mappedBy = "following")
var followers: List<User> = emptyList()