Pessoal, eu tenho uma tabela de processos e uma tabela filha com o andamento destes processos. Tenho varios andamentos para cada processo.
Preciso mostrar num JSP os processos e seus andamentos.
Criei um objeto Porcesso, um ProcessoDAO, Andamento e AndamentoDAO
Dentro do processo eu tenho um arraylist do tipo andamento.
Tenho um metodo na classe AndamentoDAO que faz o seguinte:
Rece como parametro o codigo do processo pra eu usar no select.
Abro conexao com o banco
Faco o select
Enquanto tiver dados
Crio objeto Andamento carregando com o resultset
Adiciono no arraylist que é o tipo de retorno deste método.
O problema é que eu tenho muitos processos e o que está acontecendo é que eu estou abrindo muitas conexoes com o banco de dados.
Qual a forma correta de fazer o que eu estou fazendo?
Estou procurando um pooling de conexoes pra ver se resolvo este problemas de varios objetos de conexao, mas gostaria de saber se o que estou fazendo esta certo.
Mesmo utilizando um pool, não é muito bom ficar pegando e liberando conexões a todo momento. Você pode abrir uma conexão só e fornecer ela para os métodos da sua DAO. Tem alguns jeitos de fazer isso.
eu achava que o certo era sempre que fossemos carregar um objeto com os dados do banco deveriamos criar a conexao, popular o objeto e depois fechar a conexao…
Mas realmente desta forma ele estava abrindo muitas conexoes…