Meu programa é de cadastro de cliente…
Eu to fazendo a seguinte implementação …
Criei as interfaces “Cliente”, “ClienteHome” e a classe “ClienteBean” isso quando o jsp for utilizar … quando for um java eu utilizo a mesma idéia so que classes do “Entity” …
então minha arquitetura fico da seguinte maneira …
na minha classe "clienteEntitybean " é onde esta toda minha regra de negocio.
To pensando em utilizar apenas um dao generico Hibernate, com isso eu colocaria as minhas querys dentro do “clienteEntitybean” tambem … isso acarretaria em algum tipo de problema???
Ou seria melhor eu fazer vários daos para minha aplicação!???
[quote=“Icavalera”]na minha classe "clienteEntitybean " é onde esta toda minha regra de negocio.
To pensando em utilizar apenas um dao generico Hibernate, com isso eu colocaria as minhas querys dentro do “clienteEntitybean” tambem … isso acarretaria em algum tipo de problema???
Ou seria melhor eu fazer vários daos para minha aplicação!???[/quote]
Cria daos separados, com as querys separadas. Seus objetos de negócio não devem saber o que vc usa ou como vc usa para acessar os dados, ele só quer saber de receber os dados que ele requisitou… se para isso vc vai usar Criteria ou Query do hibernate, ou JDBC criando os objetos na mão, ou qualquer outra coisa, para ele não importa, a forma de buscar os dados solicitados é de responsabilidade da implementação dos DAO’s.
Seus objetos de negócio devem acessar uma interface dos DAO’s, não é nem a classe direta, assim vc pode ter varias implementações dessa interface (uma que acessa via JDBC e outra via Hibernate por exemplo), sendo que vc iria buscar a implementação através do padrão factory ou fazer DI de acordo com a configuração, etc
É como eu acho que é certo… para mim, se vc tiver importado uma classe do Hibernate em algum de seus objetos de negócio, tem erro… se vc tiver um sql ou hql nos seus objetos de negócio, tb tem erro, os objetos de negócio não sabem como e onde buscar os dados, isso quem sabe é o DAO