Este artigo explora as classes envolvidas na fabrica de DAOs do ITrust, nossa fabrica encontra-se dentro do package "org.iprogramming.model.persistence.factory". A fabrica de DAOs tem a funcão de abstrair qual a forma de acesso ao banco de dados e setar a sessão corrente do hibernate. Apesar de nosso foco ser a integração com o hibernate, nao podemos ficar presos a esta ferramenta, entao vamos dar a possibilidade de vc acessar o banco de dados via JDBC. Segue abaixo nosso exemplo
|---+persistence
|
|---dao
|---dto
|---factory
|---transaction
public abstract class DAOFactory {
public static final int HIBERNATE = 1;
public static final int SQLServer = 2;
public static DAOFactory getDAOFactory(int whichFactory){
switch(whichFactory){
case 1:
return new HibernateDAOFactory();
case 2:
return new SQLDAOFactory();
default:
return null;
}
}
public abstract LoginDAO getLoginDAO();
}
Essa é a nossa implementação para uma fabrica de DAOs do Hibernate
public class HibernateDAOFactory extends DAOFactory{
private static Session getCurrentSession() {
return HibernateHelper.currentSession();
}
public LoginDAO getLoginDAO() {
return new HibernateLoginDAO().setSession(getCurrentSession());
}
}
Ao instancia o nosso DAO, precisamos setar a sessão corrente do hibernate, isso é feito através do método que herdamos da classe GenericHibernateDAO. Portanto finalizamos aqui, agora se vc precisa consultar os registros da tabela de login basta vc fazer o seguinte procedimento:
DAOFactory factory = DAOFactory.getDAOFactory(DAOFactory.HIBERNATE);
LoginDAO loginDAO = factory.getLoginDAO();
List list = loginDAO.list(Login.class);
No próximo artigo vamos estudar como fazer o controle de transações do hibernate.
Um comentário:
Opa Cara, pq nao usasse enum para o tipo de cada DAO?
Postar um comentário