Exemplo de DAO + Facade + EJB3/JPA

3 respostas
L

Galera,
Aguém teria um exemplo de uma implementação de um DAO sendo chamado por uma Facade em um projeto EJB3 / JPA ?

To montando um projeto JEE nesta arquitetura:

JSP -> Controller -> Facade -> DAO -> Entity.

Usando EJB3/JPA.

Um abraço.

3 Respostas

danieldestro
public interface DAO {
}
public interface XinfrimDAO extends DAO {
  // seu código aqui...
}
public class XinfrimJpaDAO implements XinfrimDAO {
  // seu código aqui...
}
public class DAOFactory {
  public static DAO getDAO( Class c ) {
    // cria o objeto DAO a partir do class da sua interface e o retorna
  }
}
@Remote
public class ToscoFacade {
  public void cagadaMaster( String algo );
}
@Stateless
public class ToscoFacadeBean implements ToscoFacade  {
  public void cagadaMaster( String algo ) {
    XinfrimDAO dao = (XinfrimDAO) DAOFactory.getDAO( XinfirmDAO.class );
    String shit = dao.executaABesteira( algo );
    dao.consolidaACagada( shit );
  }
}
public class TeuMegaController {
  @EJB
  private ToscoFacade tosco;

  public void cagadaMaster( String algo ) {
    tosco.cagadaMaster(algo);
  }
}

Mais simples e tosco que isso?

ddduran

no site do hibernate tem uma aplicação completa feita pelo Bauer, da uma procurada la (to com preguiça de achar o link :P)

L

Galera,
Obrigado pelas respostas, eu estava com outro endereço de e-mail aqui no meu perfil por isso não tinha percebido as respotas.

Buenas,
Quanto a resposta tem um problema, pois o código acima não funciona, pois o JBoss reclama que a DAO não esta dentro do contexto JPA/Não faz parte de uma transação JPA.

No meu caso eu tenho a seguinte estrutura de projetos(usando o NetBeans 5.5.1 e o JBoss 4.2): 


 EAR (Projeto Enterprise Application do Netbeans)
     DAO.jar (Projeto EJB Module)
     Facade.jar (Projeto EJB Module)

 Atualmente eu injeto o DAO na facade com um @EJB e mesmo assim da pau, eu  tentei de tudo, mas não estou conseguindo fazer funcionar isto.

 Segue um post que abri com maiores detalhes:
 [url]http://www.guj.com.br/posts/list/73261.java[/url]
  
 Obrigado pela ajuda de todos.

 Ob: Me desculpem os moderadores pela duplicidade de tópicos. Eu abri um segundo tópico após refletir melhor na estrutura e detalhamento dos problemas para apresentar para os colegas.
Criado 29 de outubro de 2007
Ultima resposta 3 de nov. de 2007
Respostas 3
Participantes 3