Pessoal, boa noite, permitam-me antes de expor minha dúvida, expor o que eu tenho que desenvolver.
Preciso desenvolver um tela que trava dados de várias tabelas em uma lista.
Ao total são 5 tabelas.
Eu já consegui trazer os dados necessários para esta lista. Eu trago vários campos com funções de banco, como sum, faço multiplicações, faço joins, etc.
Gostaria de saber qual é a melhor prática para estes casos.
Trazer os dados já prontos através de uma Sentença SQL ou Tratar as somas, junções, etc no Java?
Qual prática é a melhor e mais recomendada?
Em outras palavras resolver tudo em uma sentença SQL, ou manipular os dados com programação.
acho que isto depende muito do negócio, ou seja, da proposta que o software oferece, uma vez trabalhei em um sistema de auditoria fiscal onde eu desenvolvia muito em SQL, como os processos eram grandes e custosos, em meus testes iniciais ja vi que a perda de desempenho da aplicação era bem maior quando eu deixava o java trabalhando, mas quando eu colocava o banco para trabalhar ai sim eu tinha uma ótima performance, telas rápidas e tal, mas claro, dependende muito do negócio, eu tinha processos de banco que chegavam a rodar 48 horas direto, muitas Threads no Java e muitos Webservices se comunicando, acredito que seja bem diferente da tua situação, da maneira como descreveu acredito que esteja usando JDBC certo ? eu continuaria utilizando assim mesmo como fez, porém, se estiver utilizando algum framework de persistência eu diria com certeza para fazer uso de todas as features do framework pois hoje com JPA 2.1 JDBC eu não usuaria a não ser que fosse um legado rsrsrsrsr. abraços.
olha já passei por essa situação também, um amigo meu tem a resposta na ponta da língua, “se puder fazer no banco, faça”, há vários argumentos que ajuda nisso,primeiro latência entre o banco e o banco a latência não existe já entre o banco e a aplicação muda, o banco de dados é feito para tratar/organizar informações, então por que fazer isso fora ?
acho que se você puder tratar o problema no próprio SQL faça