Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

DAO genérico com EJB

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.

4 respostas

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

solução!

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software