我在数据库中有一个搜索方法,它带来了以下结果:
如你所见,在Object [4]里面出现了另一个包含People,Pessoas和PessoasEnderecos的数组以及更多与Pessoas有关系的对象。
我希望它只返回这种方式而不是现在正在发生的另一个数组中,它应该如下所示:
elementData=Object[10](id=144)
[0]=Pessoas(id=166)
[1]=PessoasEnderecos(id=167)
...
我有这个方法:
@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);
}
和:
@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);
我该如何解决?
答案 0 :(得分:0)
ArrayList<>
不适用于魔术,它有实际的实现。 elementData
是存储其元素的数组。正如您所看到的(这是上一句中的链接),它是该类的私有成员,因此您不与它进行交互,但是您在调试器中看到它,因为它存在。
如果您想要返回数组而不是List
,则可以始终使用所有List
实现的toArray()
。