Hibernate Spring数据JPA使用关系表从一个表中获取

Hibernate Spring数据JPA使用关系表从一个表中获取,hibernate,spring-data,spring-data-jpa,jpql,many-to-one,Hibernate,Spring Data,Spring Data Jpa,Jpql,Many To One,这是我的用户实体,用户组是与组的关系表。 如何获取groupid=中的所有用户 @Entity @Table(name="USER") public class User implements Serializable { @Id Long userId; @ManyToOne @JoinTable(name = "USER_GROUP", joinColumns = @JoinColumn(na

这是我的用户实体,用户组是与组的关系表。 如何获取groupid=中的所有用户

    @Entity 
    @Table(name="USER") 
    public class User implements Serializable {
      @Id Long userId;
      @ManyToOne 
      @JoinTable(name = "USER_GROUP", 
                joinColumns = @JoinColumn(name = "userid"), 
                inverseJoinColumns = @JoinColumn(name = "groupid")) 
      private List<Group> groups;
    } 
@实体
@表(name=“USER”)
公共类用户实现可序列化{
@Id长用户Id;
@许多酮
@JoinTable(name=“USER\u GROUP”,
joinColumns=@JoinColumn(name=“userid”),
inverseJoinColumns=@JoinColumn(name=“groupid”))
私人名单组;
} 

我相信您也在使用
UserRepository
。 在
UserRepository
中,您可以编写一个方法来获取所有此类数据

public interface UserRepository extends JpaRepository<User, Long>{

    @Query(value="Select u from User u inner join u.groups group where group.groupid = :groupId ")
    List<User> findAllByGroupId(@Param("groupId") long groupId)

}
public interface UserRepository扩展了JpaRepository{
@查询(value=“从用户u内部加入u.groups组中选择u,其中group.groupid=:groupid”)
列出findAllByGroupId(@Param(“groupId”)长groupId)
}
这应该行得通。然而,我没有测试它


注意使用
DISTINCT
仅选择唯一的
User
对象。

我相信您也在使用
UserRepository
。 在
UserRepository
中,您可以编写一个方法来获取所有此类数据

public interface UserRepository extends JpaRepository<User, Long>{

    @Query(value="Select u from User u inner join u.groups group where group.groupid = :groupId ")
    List<User> findAllByGroupId(@Param("groupId") long groupId)

}
public interface UserRepository扩展了JpaRepository{
@查询(value=“从用户u内部加入u.groups组中选择u,其中group.groupid=:groupid”)
列出findAllByGroupId(@Param(“groupId”)长groupId)
}
这应该行得通。然而,我没有测试它


注意使用
DISTINCT
仅选择唯一的
用户
对象。

到目前为止您到底尝试了什么?您需要哪一层的解决方案?您确定您的映射正确吗?当您的映射为
@ManyToOne
时,为什么会有
组的列表
许多
用户可以属于一个
组。到目前为止,您到底尝试了什么?您需要哪一层的解决方案?您确定您的映射正确吗?当您的映射为
@ManyToOne
时,为什么会有
组的列表
许多
用户可以属于一个
组。没有JPQL或SQL查询是否可能?没有JPQL或SQL查询是否可能?