Spring JpaRepository如何查询@ManyToMany实体

Spring JpaRepository how to query a @ManyToMany entity

我昨天遇到了类似的问题,,但现在我遇到了不同的问题。 类 用户和标签依赖@manyToMany。

public class User {

@Id
@GeneratedValue
private int id;

@ManyToMany
private Set<UserTag> tags;

}

和用户标签:

@Entity
public class UserTag {

@ManyToMany
private Set<User> users;

} 有没有一种简单的方法可以根据用户 ID 编写 return 所有 UserTag 的查询?我知道我在用户中有信息,但是如果我创建一个 public

interface UserRepository extends JpaRepository<User, Integer>{

那我只能获取用户对象,不能获取标签?

您可以获得 UserRepository 个其他对象然后 User 个。

@Query("SELECT u.tags FROM User u WHERE u.id = :id")
public Set<UserTag> getUserTagsByUserId(@Param("id") int id);