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.
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.
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 );
}
}
[code]public class TeuMegaController {
@EJB
private ToscoFacade tosco;
public void cagadaMaster( String algo ) {
tosco.cagadaMaster(algo);
}
}[/code]
Mais simples e tosco que isso?
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)
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 já 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.