Spring JpaRepository如何查询@ManyToMany实体

时间:2015-12-10 12:55:26

标签: spring-data spring-data-jpa

我昨天遇到了类似的问题,how to write a query in JpaRepository,但现在我有一个不同的问题。类User和Tag是@manyToMany依赖的。

public class User {

@Id
@GeneratedValue
private int id;

@ManyToMany
private Set<UserTag> tags;

}

和UserTag:

@Entity
public class UserTag {

@ManyToMany
private Set<User> users;

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

interface UserRepository extends JpaRepository<User, Integer>{

然后我只能获取用户对象,而不是标签?

1 个答案:

答案 0 :(得分:8)

您可以访问UserRepository其他对象,然后User

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