JPA - retornar mais de um objeto?

3 respostas
lcn.andre

Preciso popular uma jTable com dados que estão em duas tabelas diferentes no banco de dados, porém essas tabelas não tem FK uma na outra. A única coisa que as relaciona é o valor de um campo(numdoc e nfNumero), que são valores de uma terceira tabela, porém consta em ambas as que necessito. Estou fazendo da seguinte forma:

Porém, a consulta não retorna nada. Como sou novo em JPA, acredito que isso seja porque não posso fazer o select da forma que fiz. Ainda sim, continua meu problema em ter dados de duas tabelas não relacionadas numa mesma query. Alguém tem algum palpite de como posso fazer isso?

3 Respostas

71C4700

Acredito que como voce esta retornando mais de uma entidade ele retorne um array contendo sua entidades.

Query query = seuEntintyManeger.createQuery("SUA CONSULTA");

// Esta lista seria como se estivesse retornando uma entidade, so que como um array
List<Object[]> list = query.getResultList();

// E pra capturar os valores

for(Object[] object:list){
  Historico historico = (Historico) object[0];
  Conta conta = (Conta) object[1]; 
  //Cada posição referencia o objeto de retorno que voce realizou em sua consulta, caso retornasse tres entidades poderia captura-la aqui tambem.
}

Veja se ajuda....

At...

lcn.andre

Valeu… os valores apareceram. Entendi o formato da coisa. Só tem mais um problema. Como vincular essa lista na jTable? Tentei vincular com ${campo}, mas não funcionou. :frowning:

71C4700

Uma solução rápida é utilizar alguns MODELs de JTable ja pronto ou criar o seu propiro, veja este link.

É simples integra-lo com seu codigo e a JTable trata de campos de seu objeto.

Att…

Criado 7 de agosto de 2009
Ultima resposta 7 de ago. de 2009
Respostas 3
Participantes 2