No ireport, query no relatorio ou datasource?

Pessoal estou migrando de projeto e equipe em meu trabalho após dois anos em um único projeto. Mas é o seguinte, a primeira coisa que me pediram pra fazer foi nesse novo projeto foi um relatório no Ireport mas no meu projeto antigo todos nós usavamos o Ireport passando um obejto todo populado com os dados nescessários para que o ireport ficasse somente com a parte de montar o desenho do relatório. Porém aqui nesse novo projeto o pessoal passa um parametro(chave da tabela por exemplo) ai eles pegam esse vaor e fazem as querys que não são nada pequenas e isso na minha opinião está fazendo com que demore muito para que o relatório possa aparecer na tela. Mas a questão é seguinte estamos usando hibernate e com isso eu faço a pesquisa no eclipse e ja mando tudo certinho pro ireport. Gostaria de saber a opinião de vcs sobre quais as diferenças entre realizar a consulta diretamente no ireport e passar um objeto diretamente para o mesmo utilizando datasource.

vou citar algumas:

1º se eu tiver 200 relatorio com a mesma consulta, se alterado um campo no banco eu terei que alterar todas as querys dos 200 relatorios, ja se eu estiver somente passando o obejto recuperado de uma pesquisa e um campo for alterado no banco ai basta eu alterar a consulta que os 200 relatorios estarão funcionando sem qualquer problema.
2º acho q a busca dos dados e depois a montagem do relatorio ficou bem mais rápido

E ai podemos completar mais a lista de vantagens de se usar dataSource em vez de querys mosntruosas em relatórios.

se não me engano, fazendo a consulta no jasper, não fecha a conexão com o banco.
por isso é melhor passar o dataSource.