JPA para persistência e JDBC para relatórios

6 respostas
targas

tenho uma aplicação web aonde uso JPA+Hibernate+c3po para persistência dos dados, no entanto, para relatórios prefiro trabalhar passando apenas o DS, existe algum problema em usar as duas formas de conexão ao mesmo tempo?

6 Respostas

Hebert_Coelho

Não.

Mas é aconselhável utilizar o JPA em tudo pois assim você pode utilizar do cache dele. [=

targas

jakefrog,

obrigado pela resposta mas, tem como com o JPA eu passar uma conexão para o relatório?

Nos exemplos que já encontrei todos passam a coleção de dados…

Hebert_Coelho

targas:
jakefrog,

obrigado pela resposta mas, tem como com o JPA eu passar uma conexão para o relatório?

Nos exemplos que já encontrei todos passam a coleção de dados…

Mas esse é o correto.

Não é legal ficar passando conexão para lá e para cá. JPA não expõe a conexão JDBC, ele mascara e trata tudo dentro dele.

targas

jakefrog,

mais uma vez obrigado!

Hebert_Coelho

targas:
jakefrog,

mais uma vez obrigado!

Não sei se te ajuda, mas caso você tenha objetos distintos para o relatório (não entities do JPA) você poderia fazer uma native query (assim você continua utilizando do SQL já pronto) e fazer com o JPA injete esses valores dentro da classe.

Vamos supor que você tenha a entidade Pessoa que tenha apenas a data de nascimento. Mas no seu relatório você exibe a idade numérica tipo 40 anos. Aí caso você faça essa conta no SQl você poderia fazer algo do tipo
select new com.report.PessoaReport(nome, FUN_CALCULA_IDADE(idade)) from…

Desse modo você terá a classe com tudo pronto.

Aqui mostra mais sobre essa abordagem: JPA Consultas e Dicas

targas

jakefrog,

Muito obrigado, a dica foi valiosa!!

Eu não gostei da abordagem de objetos no ireport, e acho que a solução será com native query mesmo…

Criado 22 de agosto de 2012
Ultima resposta 23 de ago. de 2012
Respostas 6
Participantes 2