Olá amigos
estou fazendo uma consulta com JPA que está me retornando 2 objetos:
public List<?> listAllContratos(String order) {
final Query query = em.createQuery("select e,i from Contrato e inner join Imovel i on i.codigoImovel = e.imovel where e.excluido = false "+order);
return query.getResultList();
}
como eu faço para acessar o objeto Contrato e Imovel?
Alguém poderia ajudar?
Muito obrigado
Seu método retorna uma lista. Essa lista contém, em cada elemento, mais uma lista com dois elementos, um Contrato
e um Imovel
. No resultado mostrado, são apresentadas duas dessas duplas. Para obter um item de uma lista pelo seu índice basta usar o método get( indice )
, então para pegar o Contrato da primeira dupla seria algo como listaRetornada.get(0).get(0)
.
Olá amigo
apresenta o seguinte erro:
Olá amigos
consegui fazer com esta solução:
for (int i = 0; i < this.contratos.size(); i++) {
vo = new ContratoGridVO();
Object[] row = (Object[]) contratos.get(i);
int j = 0;
for (Object object : row) {
if (j == 0) {
Contrato contrato = (br.com.imob.entities.Contrato) object;
vo.setContrato_codigo(contrato.getCodigoContrato());
vo.setContrato_periodoinicial(br.com.imob.util.Funcoes.getLocalDateToString(contrato.getPeriodoInicial()));
vo.setContrato_periodofinal(br.com.imob.util.Funcoes.getLocalDateToString(contrato.getPeriodoInicial()));
}
else {
Imovel imovel = (br.com.imob.entities.Imovel) object;
vo.setContrato_enderecoimovel(imovel.getEndereco());
}
j++;
System.out.println(object);
}
list.add(vo);
}
Muito obrigado
1 curtida
Na verdade eu chutei que os objetos contidos na lista seriam listas. Podem ser arrays por exemplo. Se conseguiu, ótimo.