unmount objects in an array

0

I have a search method in the database that brings me the following result:

NotethatinsidetheObject[4]comesanotherarraythatcontainsPeople,People,andPeople.

Iwouldlikeittoreturnonlythiswayandnotinsideanotherarrayasitishappeningnow,itshouldlooklikethis:

elementData=Object[10](id=144)[0]=Pessoas(id=166)[1]=PessoasEnderecos(id=167)...

Mymethodlookslikethis:

@RequestMapping(method=RequestMethod.GET,value="/pessoas")
    public ResponseEntity<Collection<Pessoas>> buscarPessoas(HttpServletRequest request) throws  Exception { 

        String idEntidadeCrypt = request.getHeader("DataBase");
        Long idEntidade = Long.parseLong(Crypto.decode(idEntidadeCrypt));

        Collection<Pessoas> pessoasBuscados = pessoasService.buscarFiltro(idEntidade);
            return new ResponseEntity<>(pessoasBuscados, HttpStatus.OK);
    }  

and the method that makes my select:

@Repository
public interface PessoasRepository extends JpaRepository<Pessoas, Integer> {

    @Query( value="select pes, pEnd, pFis, pJur "
            + "from "
            + "Pessoas pes, "
            + "PessoasEnderecos pEnd,"
            + "PessoasFisicas pFis,"
            + "PessoasJuridicas pJur"           
            + " where  "            
            + "pes.entidade.idEntidade = pEnd.entidade.idEntidade "
            + "and pes.idPessoa = pEnd.pessoa.idPessoa "
            + "and pes.entidade.idEntidade = pFis.entidade.idEntidade "
            + "and pes.idPessoa = pFis.pessoa.idPessoa "
            + "and pes.entidade.idEntidade = pJur.entidade.idEntidade "
            + "and pes.idPessoa = pJur.pessoa.idPessoa "
            + "and pes.entidade.idEntidade = :parametroId " )
    public  Collection<Pessoas>  encontrar(@Param("parametroId") Long usuarioEntidade);
    
asked by anonymous 14.01.2018 / 16:30

1 answer

1

I fear that what you want is not possible:

In your query you specify that each row will have: pes, pEnd, pFis and pJur.

Object [10] represents all rows returned.

Object [4] represents a return line and is exactly what you wrote in the query.

There is no way for a query to return a row different from the other ...

    
26.01.2018 / 02:28