Repositório como EJB ou via Factory

Há algum tempo acompanhei uma discução aqui no GUJ, porém não a achei mais. Então lanço uma dúvida minha: usar DAO/Repositórios como EJB local ou como uma classe normal?

Há duas abordagem que eu conheço atualmente:

  • usar as DAOs/repositórios como EJB local para injetar o data-source ou entity-manager
  • usar uma dao-factory/repository-factory como EJB local e a partir dela injetar o datasource ou entity-manager instanciando a classe DAO/repositório na hora.

Particularmente não vejo um problema em usar as DAOs/repositórios como EJBs, já que o controle do container é bem inteligente para gerenciar o ciclo de vida dos mesmos.

Enfim, qual a abordagem que vocês têm usado? O que vocês acham sobre isso?

[quote=garcia-jj]Há algum tempo acompanhei uma discução aqui no GUJ, porém não a achei mais. Então lanço uma dúvida minha: usar DAO/Repositórios como EJB local ou como uma classe normal?

Há duas abordagem que eu conheço atualmente:

  • usar as DAOs/repositórios como EJB local para injetar o data-source ou entity-manager
  • usar uma dao-factory/repository-factory como EJB local e a partir dela injetar o datasource ou entity-manager instanciando a classe DAO/repositório na hora.

Particularmente não vejo um problema em usar as DAOs/repositórios como EJBs, já que o controle do container é bem inteligente para gerenciar o ciclo de vida dos mesmos.

Enfim, qual a abordagem que vocês têm usado? O que vocês acham sobre isso?[/quote]

Se o seu projeto ja esta usando um container, enjoy it!!
Não vejo problema nenhum em usar a injeção de dependecia e o controle de transações do container. O importante para mim é o SoC, e não se o objeto é um EBJ ou não.

[]´s

jgbt, penso assim como você. Muito obrigado pela opinião.

Enfim, como ninguém mais quis contribuir com o assunto 8) , achei uns links interessantes para caso alguém precise no futuro.

DAO As Java Class Or Stateless EJB
http://www.theserverside.com/discussions/thread.tss?thread_id=17504

Java BluePrints - DAO As Stateless EJB vs. Plain Java Class
http://forums.sun.com/thread.jspa?threadID=347801

DAO as session bean
http://www.coderanch.com/t/458380/Architect-Certification-SCEA/certification/DOA-as-session-bean