unmount objects in an array

Asked

Viewed 175 times

0

I have a method of searching the bank that brings me the following result:

inserir a descrição da imagem aqui

Note that inside the Object[4] comes another array that contains People, People..

i would like you to return me just this way and not within another array as it is now occurring, it should look like this:

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

My method is like this :

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

1 answer

1


I’m afraid what you want is not possible:

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

Object[10] represents all returned lines.

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 line other than the other...

  • In Mybatis there is, I don’t know in this JPA repository. In Mybatis, if I’m not mistaken all objects must be from classes extending from the returned base class

Browser other questions tagged

You are not signed in. Login or sign up in order to post.