Dúvida EJB e EntityManager

6 respostas
formigaotts

Seguinte, estou utilizando ejb e jpa e estou com uma dúvida, tenho uma classe limitrofe que é um bean e não quero que essa classe limitrofe cuide da parte de persistencia, também sei que o container é quem gerencia a EntityManager e para isso a EntityManager tem que estar em um objeto ejb. Quero criar uma classe controladora para fazer a parte de persistencia tirando da classe limitrofe que é uma interface. Como resolvo isso de modo que a arquitetura fique da seguinte maneira: (Interface com o usuário <> Classe limítrofe <> Classe controladora <> BD)? Já tentei criar a classe controladora como um objeto java simples mas logo percebi que não iria funcionar, portanto, crio ela como um ejb?

6 Respostas

rissato

essa sua classe controladora seria um DAO?

Jair_Rillo_Junior

Que tal receber o EntityManager (através de DI) no SessionBean e passá-lo (pode ser no construtor) para seu repositório?

formigaotts

Bom, sou novo em ejb, DI é injeção de dependência certo?
Me passe algumas referências onde posso estudar a respeito e ver exemplos.

maurenginaldo

Bom, sou novo em ejb, DI é injeção de dependência certo?
Me passe algumas referências onde posso estudar a respeito e ver exemplos.

Isso mesmo.
Quanto a referências pode procurar no google mesmo, que você vai encontrar um monte de referências. Já é um assunto bem difundido.

Jair_Rillo_Junior

Sim, DI é isso mesmo.

Quando você usa

@PersistenceContext
private EntityManager em;

Dentro do seu SessionBean, você está injentando o EntityManager nele. Depois é só chamar seu repositório passando o EntityManager como parametro (através do construtor ou um método setEntityManager).

formigaotts

Jair Rillo Junior:

Dentro do seu SessionBean, você está injentando o EntityManager nele. Depois é só chamar seu repositório passando o EntityManager como parametro (através do construtor ou um método setEntityManager).

Ah, saquei!
Deu certo…
Valeu pela ajuda pessoal! =)

Criado 8 de outubro de 2008
Ultima resposta 8 de out. de 2008
Respostas 6
Participantes 4