Duvida relatorio

5 respostas
A

Olá,

estou dando uma estuda no Ireports, e fiquei com a seguinte dúvida…

Qual a vantagem de eu usar um DAO para preencher o relatório ao invés de simplesmente chamar os campos pela query?

ou seja, qual a vantagem de eu usar JRBeanCollectionDataSource?

Att,
Carlos.

5 Respostas

drsmachado

Está usando modelo em camadas (MVC)?
Se está, precisa lembrar que a camada View nunca acessa diretamente a Model e, relatório é da camada view.
Além disso, fazer todo controle pela aplicação permite que você otimize o resultado, mandando para o relatório apenas o interessante, evitando ter que fazer coisas como SUM no SQL ou concatenações malucas, quando eventualmente precisa “juntar” duas ou mais colunas do banco de dados em uma do relatório.

A

sim estou usando MCV,

hummm entendi,

Valews ^^

Att.

drsmachado

Anhaya:
sim estou usando MCV,

hummm entendi,

e quanto a performance? é mais rápido?


Isso depende.
Pode ser que usando a query diretamente no relatório, ele só faça a listagem do que encontrou. Isso pode ser tão rápido quanto enviar essa listagem pela aplicação. Já, por outro lado, lembre-se que a aplicação faz a busca, itera sobre o resultado, valida e tudo mais o que precisa fazer, certamente haverá uma pequena (ou grande) perda de desempenho.

A

hum entendi,

Ok, Obrigado.

lucasirc

Anhaya,

utilizando DAO, vc esta centralizado o acesso aos dados em uma camada, se tiver alguma alteração no projeto em relação ao banco (ex: adicionou nova coluna, mudou de oracle para postgres, mudou a versão do sgbd e etc) vc teria que dar manutenção nas consultas na camada DAO, e não ter que sair alterando também as consultas os relatórios.

Criado 5 de julho de 2012
Ultima resposta 5 de jul. de 2012
Respostas 5
Participantes 3