内部实体的原始查询



我正在制作一个Twitter克隆。

加入表创建了一个使用user_idfollower_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()

最新更新