Spring JpaRepository如何查询@ManyToMany实体



昨天我遇到了类似的问题,如何在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;

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

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);

最新更新