Java 如何创建返回元素和相关元素数组的JPA查询

Java 如何创建返回元素和相关元素数组的JPA查询,java,jpa,Java,Jpa,元素RequestEntity和结果性之间有一对多的关联。一个请求可以有多个结果,我希望在每次都不重复RequestEntity的情况下返回所有结果,现在,我有以下几点: @Query("SELECT p, s FROM RequestEntity p left JOIN ResultEntity s on s.result = p.id where p.user = :user AND p.id = :id") Object[] getRequestEntityByIdAndUser(@P

元素RequestEntity和结果性之间有一对多的关联。一个请求可以有多个结果,我希望在每次都不重复RequestEntity的情况下返回所有结果,现在,我有以下几点:

@Query("SELECT p, s FROM  RequestEntity p  left JOIN ResultEntity s on s.result = p.id where p.user = :user AND p.id = :id")
Object[] getRequestEntityByIdAndUser(@Param("id")  String Id, @Param("user")  String user);
此查询返回:

[[{RequestEntity1}{ResultEntity1}],{RequestEntity1}{ResultEntity2}],…]

有没有办法让它返回:不重复相同的数据?例如:


[{RequestEntity1},[{ResultEntity1},{ResultEntity2},…]

这不是我想要的,而是我想要的。我刚刚对数据库进行了两次调用并合并了它们:

public Object[] getRequest(String user, String id) {
Set<ResultEntity> results = resultRepository.findResultEntityByResult(id);
    Object req = requestRepository.getRequestEntityByIdAndUser(id, user);
    Object[] obj = new Object[] { results, req};
return obj;
}
public Object[]getRequest(字符串用户,字符串id){
Set results=resultpository.findResultEntityByResult(id);
Object req=requestRepository.getRequestEntityByIdAndUser(id,用户);
Object[]obj=新对象[]{results,req};
返回obj;
}

刚刚尝试过,没有帮助,据我搜索,选择distinct-如果存在重复值,则只从DB中选择一个元素,这在我的情况下不是问题