Dúvida ao utilizar pattern DAO

Boa Noite,

Estou iniciando o desenvolvimento de uma página WEB, e estou com a seguinte dúvida:

No meu projeto será utilizado Hibernate/JPA com anotações, devo criar para cada classe a ser persistida uma classe equivalente DAO, ou usar uma interface para implementá-la na classe de negócio mesmo, qual seria a implementação mais correta?

Obrigado,

A implementação “mais correta”, é dificil dizer :lol:
Se eu escrever a implementação que acho correta, vai aparecer uns três defendendo a dele haha.

Então… Acho que não precisa ter para cada classe, uma classe que implemente o Pattern DAO.
Implementa uma, que todas as outras possa utilizá-la (uma DAOFactory, por exemplo).
O que precisa (e se você quiser), cada classe que represente uma tabela no banco, seja considerada uma entidade.
Que é, mais ou menos, ideía do Hibernate. Criar uma interface, você vai obrigar todas suas classes de entidade que a implemente, escrever todas as funções dela. O que na minha opinião, é um pouco desnecesário.
Tenta aí e qualquer dúvida, é so dizer.

Artigo:
http://www.javafree.org/artigo/871452/Introducao-ao-pattern-DAO.html
Flw!

Boa noite!

Utilize o Design Pattern D.A.O. para abstrair a sua lógica de negócios da lógica de banco de dados. Se quiser algo mais versátil, que possa ser facilmente portado entre bancos de dados, e que seja utilizado realmente como um objeto, utilize DAO… se quiser algo mais simples, e que não precisará de tanta complexidade… faça diretamente… a escolha é sua…

Abraço,

Visite o Blog do Perereca: http://www.blogdoperereca.blogspot.com

A apostila FJ-28 da Caelum aborda legal essa parte de utilização do DAO. Um DAO Genérico para todas as classes, e dependendo do comportamento de cada entidade, vc extende o DAO Generico e implementa metodos especificos. Baixe a apostila que vc vai entender melhor:

É a FJ-28

Abraço

eu tenho um dao generico e se a classe necessitar de alguma funcionalidade propria ai eu crio um dao para aquela classe, logicamente extendendo ao genericdao <classe,tipoDaChave ex:Integer> que é uma da forma abordada no proprio site do hibernate pois eu uso. confira la no site

Então Claudio,

O pessoal já deu a resposta para sua pergunta. Apenas para completar, aconselho você olhar o site oficial do Hibernate que lá ele dá um exemplo de DAO Genérico.