Galera socorro! já procurei na net aqui no guj e já estou a uma semana apanhando é nada. Consigo fazer a conexão ejbql porém não consigo mostrar dados de relacionamentos usando jpa! Por favor me ajudem!
Grato.
Galera socorro! já procurei na net aqui no guj e já estou a uma semana apanhando é nada. Consigo fazer a conexão ejbql porém não consigo mostrar dados de relacionamentos usando jpa! Por favor me ajudem!
Grato.
Por favor forneça mais detalhes: você está usando alguma tecnologia específica para produzir seus relatórios (JasperReports, por exemplo)? O que você quer dizer por “mostrar dados de relacionamentos”?
Estou usando IReport 3.6.1 + JPA/Hibernate e faço uma conexão EJBQL. Listar dados de uma tabela só, eu consigo normalmente, porém, quando necessito de informações de outras tabelas por meio de relacionamentos é onde estou esbarrando. Um Exemplo do que estou tentando fazer é o seguinte:
Tenho o seguintes Beans: Telefone e Cliente, dentro de telefone eu tenho o código do cliente pois um cliente pode ter vários telefones! Estou tentando fazer um relatório de clientes porém não consigo pegar os seus telefones! Usando SQL quando faço um join, ou left outer join eu faço a união das tabelas e tenho todos os campos, mas usando ejbql so consigo 2 objetos do tipo bean. Quando faço:
select c, e from Cliente c left outer join c.telefoneCollection e where c.cliCodigo=2
Ele me traz dois campos: COLUMN_1 tipo Beans.Cliente e COLUMN_2 tipo Beans.Telefone porém não consigo acessar nada! Quando faço:
select c, e from Cliente c left outer join c.telefoneCollection e
Na minha concepção deveriam ser mostrados todos os registros, porém, da o seguinte mensagem: Error: null
Para cada cliente você quer mostrar todos os telefones relacionados? Nesse caso creio que seria melhor fazer um relatório mestre/detalhe, o cliente ficaria no mestre e os telefones no detalhe. E, para buscar de forma imediata a coleção de telefones, creio que é necessário incluir a cláusula “fetch”:
SELECT c, e FROM Cliente c LEFT OUTER JOIN FETCH c.telefoneCollection e WHERE c.cliCodigo=2