Boa tarde,
Alguém poderia me dar um exemplo de um DAO genérico com EJB, sendo que o mesmo deve ser injetado na classe Service.
Grato.
Boa tarde,
Alguém poderia me dar um exemplo de um DAO genérico com EJB, sendo que o mesmo deve ser injetado na classe Service.
Grato.
Oi Alexandre,
não tenho certeza se isso dá para fazer.
Uma sugestão: coloque as queries no DAO especifico, facil de injetar. Para os métodos genericos (persist, merge, find etc) injete o seu EntityManager diretamente no Service.
O DAO generico, apesar do nome atraente, tem pouca utilidade.
Abs, Nico
Nico,
Posso criar um DAO abstrato com as principais funções de CRUD e estende-lo nos demais DAOs. Dessa forma eu consigo injetar no meu Service e evito o retrabalho com essas funções básicas.
public abstract class BaseDAO {} public class IncotermDao extends BaseDAO{}
Qual sua opinião sobre essa abordagem?
Grato
Oi Alexandre,
vc pode fazer isso, mas usar herança seria aplicar outra má pratica.
Seguem dois links para deixar meu ponto mais claro:
http://blog.caelum.com.br/como-nao-aprender-orientacao-a-objetos-heranca/
http://blog.caelum.com.br/ei-como-e-o-seu-dao-ele-e-tao-abstraido-quanto-o-meu/
Abs, Nico
Valeu Nico!
Agora ficou mais claro.
Abs