Oi pessoal,
mas uma vez pedindo ajuda, estou aqui tentando aprender usar o padrão DAO, a interface inicial ficou assim:
package br.ufrj.gpi.scf.controle;
import br.ufrj.gpi.scf.modelo.* ;
import java.io.IOException;
import java.util.Vector;
public interface AlunoDAO {
/**
* Persiste o aluno no banco de dados, levanta uma Exception
(SQLExecption),
* caso algum erro aconteça
*/
public void save(Aluno aluno) throws Exception;
public void delete(Aluno aluno) throws Exception;
/**
* Altera um aluno no banco de dados, levanta um Exception
(SQLExecption),
* caso algum erro aconteça
*/
public void update(Aluno aluno) throws Exception;
/**
* Retorna um vetor de alunos, levanta Exceptions (AlunoException,
* SQLException), caso algum erro aconteça
*/
public Vector list() throws Exception, IOException;
public Aluno find(String cpf) throws Exception;
public Aluno find(int id) throws Exception;
}
A idéia é que, assim que tiver tempo de estudar a JPA, mude de mysql para hibernate.
Bom, estou com as seguintes dúvida:
1 - Na interface estou levantando Exceptions ao invés de colocar explicitamente as exceções, SQL etc… Fiz isso pensando em quando migrar para hibernate, já que não sei se ele levantará as mesmas que o MySql por exemplo. Isso está correto?
2 - Até agora, na classe que implementa a minha interface DAO, em cada método (save, delete etc.), estou fechando a conexão com o banco (aberta no construtor da classe). Achei que o desempenho caiu um pouco. Pensei em colocar um abreConexao e um fechaConexao na interface. Esse é o caminho certo?
Desculpem-me caso essas perguntas sejam por demais “noobs”, não trabalho com desenvolvimento a pelo menos 11 anos (trabalho com segurança e redes), e algumas coisas só discutido com os amigos mesmo para maturar na cabeça.
Desde já, VALEU PELA AJUDA!
[color=red][Moderador]Por favor coloque seu código entre as tags [ code] [/code] para uma melhor visualização e organização do fórum.[/color]