Deu algum erro? Poste aí sua stack trace, o DAO e o bean que você está tentando injetar o DAO, para o pessoal poder te ajudar…
Não…
GabrielCardelli
Dao
packagenet.gabrielcardelli.dao;importjavax.ejb.EJB;importjavax.ejb.EJBs;importjavax.persistence.EntityManager;importjavax.persistence.PersistenceContext;importnet.gabrielcardelli.bean.Person;@EJBs(value={@EJB})publicclassPersonDao{@PersistenceContextprivateEntityManagerentityManager;publicStringMailRegister(Personperson){Stringmessage=null;try{entityManager.persist(person);message="Cadastrado com Sucesso!";}catch(Exceptione){message="[Erro] "+e.getMessage();}finally{returnmessage;}}}
Gabriel, implemente uma interface local no seu DAO e o anote como um bean de sessão…
@Stateless//ousepreferircom@Statefull
Desta forma você poderá injetalo com @EJB no seu MailServiceFacade …
Abraços…
GabrielCardelli
Breno, muito obrigado pela força vou modificar tudo aqui! Agora me veio um duvida relacionada à arquitetura de um software, Fazer o Dao ser um EJB mesmo que não seja utilizado como um Serviço é uma boa prática?
Abraço , obrigado.
B
breno500as
Bom Gabriel, eu costumo fazer desta forma… Geralmente faço um bean de sessão sem informações de estado que serve como um DAO, e o utilizo em outros EJBs quando necessário… Injeto o EntityManager apenas nesse bean de sessão, mas claro que existem outras formas…Tais como injetar o Entity Manager direto nos EJBs, mas sinceramente prefiro a opção 1 … Fica a critério do desenvolvedor mesmo…
Abraços…
GabrielCardelli
Valeu Breno! Muito Obrigado.
W
Will_HRock
Implementar DAO (ou EAO, Entity Access Object como é chamado quando se utiliza esse pattern com JPA Entities) como Session Beans tem suas vantagens como a de receber automaticamente transações declarativas e um container-managed Entity Manager.
quebrado
Aguem teria um exemplo do uso de Entity Access Object, to tentando fazer e ta ficando tudo torto.
Valeus