Seguinte pessoal estou estudando EJB 3 e estou com algumas dúvida.
As transações do EntityMenager são gerenciadas pelo container usando EJB3 ou seja ele gerencia o JPA.
Se eu criar um EntityMenager dentro do EJB belezinha show de bola. mais e se eu quiser criar um EAO para separar a persistencia do EJB(NEGÓCIO), o EAO não vai ficar no container IAE?
[Edit - tinha escrito errado]
Sim, vc separa a persistencia com um ejb local e no seu EJB, fica só a regra de negocio.
[/Edit]
// classe EAO (ejb)
// injeção de dependencias e inversão de controle
@PersistenceContext
EntityMenager em;
public void Salvar(Pessoa p){
// faz algo
}
// classe ejb (local ou remoto
@Ejb
SeuEjbDeEao eao
public void salvaPessoa(Pessoa p){
// chama o salvar e faz validações (regra de negócio)
}
Mais não vou conseguir usar ID no EAO certo?
É como eu vou gerenciar as transaçoes no EAO por ele não ser um EJB
Cara,
desculpe quando vi já tinha dado enviar, seu EAO no caso tem q ser um EJB.
vc pode ter essa separação, mas na maioria das vezes vc usa um ejb só
[QUOTE]
Cara,
desculpe quando vi já tinha dado enviar, seu EAO no caso tem q ser um EJB.
[/QUOTE]
Então eu vou teque ter PessoaEAO que é um EJB e ter PessoaEJB que tbm é um Ejb,vou teque anotar os dois com ejb? =s
[QUOTE]
vc pode ter essa separação, mas na maioria das vezes vc usa um ejb só
[/QUOTE]
Normamente as pessoas deixa logica de negocio junto com a de dados?
Porque para deixar um,temque misturar
=S
Meus EAO temque ficar dentro do container então?
Uma outra abordagem é vc ter sua classe de EAO (sem ser ejb) e nela vc lançar suas exceptions
e no seu ejb vc não precisa tratar as exceptions pq dependendo da exception q vier o container da commit ou rollback
mais o controle de trasação
temque contralar isso em um sistema grande não rola
mais se eu ter o EAO e os EJB dentro do container não fica ruim o desempenho.?
como o pessoal costuma dividir isto?