Spring JpaRepository如何查询@ManyToMany实体

Nik*_*kov 2 spring-data spring-data-jpa

我昨天有类似的问题,如何在JpaRepository中编写查询,但现在我有一个不同的问题.类User和Tag是@manyToMany依赖的.

public class User {

@Id
@GeneratedValue
private int id;

@ManyToMany
private Set<UserTag> tags;
Run Code Online (Sandbox Code Playgroud)

}

和UserTag:

@Entity
public class UserTag {

@ManyToMany
private Set<User> users;
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来编写一个基于userID返回所有UserTag的查询?我知道我有用户的信息,但如果我创建一个公众

interface UserRepository extends JpaRepository<User, Integer>{
Run Code Online (Sandbox Code Playgroud)

那么我只能得到用户对象,而不是标签?

Rob*_*roj 8

你可以进入UserRepository其他物体User.

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