Posts

Showing posts with the label dao

DAO Generico

O Design Pattern DAO é um padrão para se encapsular o acesso a banco de um determinado Objeto. Existem muitas criticas sobre esse padrão, dentre elas a que você prolifera muitas classes do estereótipo DAO pelo seu projeto e ma verdade elas só tem um conjuntos de métodos find*. Eu concordo com isso, achei um artigo no Developer Works da IBM, que na minha modesta opinião é uma ótima solução. Você cria uma DAO Genérico e depois só precisa criar interfaces e named querys no Hibernate. A solução envolve Hibernate e Spring + AOP. É Muito bem bolada. Recomendo a leitura do artigo, no final do artigo tem um link para os fontes. Vou resumir o que a solução faz: Existe uma interface GenericDao que define o comportamento de um DAO, temos uma implementação padrão para essa interface que é a classe GenericDaoHibernateImpl essa classe implementa mais três interfaces: FinderExecuter que é o que o interceptor do Spring ira interceptar. E a outra é FinderArgumentTypeFactory Que define uma factory...