Java 如何创建返回元素和相关元素数组的JPA查询
元素RequestEntity和结果性之间有一对多的关联。一个请求可以有多个结果,我希望在每次都不重复RequestEntity的情况下返回所有结果,现在,我有以下几点: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
@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中选择一个元素,这在我的情况下不是问题