| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 14:51:51
|
Malachai
Thread.start()
![[Avatar]](/images/avatar/dbfff4b26f72f011fa23bfef71dbb28a.jpg)
Membro desde: 10/10/2007 11:05:01
Mensagens: 26
Localização: Rio de Janeiro
Offline
|
Pessoal,
Nao to conseguindo juntar esse quebra cabeça hehehe. Por exemplo, no EJB eu uso o seguinte:
@PersistenceContext private EntityManager entityManager;
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void save(Usuario entity) throws BusinessException {
try {
factory.getUsuarioDAO().save(entity);
}catch(DAOException e){
throw new BusinessException("br.com.oi.portal.all.erro.daoerror");
}catch(Exception e){
throw new BusinessException("br.com.oi.portal.all.erro.ejberror");
}finally{
}
}
--------------------------------
no UsuarioDAO eu tenho outro
@PersistenceContext private EntityManager entityManager;
que faz o persist ... porem esse entityManager no DAO aparece como null. Eu tenho que usar o DAO como um EJB tb ? usando o @EJB ?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 14:59:18
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
usa o EntityManager do bean, que é injetado.
não sei se com a especificação nova existe a necessidade de um DAO...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:00:02
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
sem bem q meter um ejbql no bean vai ficar horrivel.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:08:16
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
e FICA.. rs Ultimamente tenho visto os antigos DAOs serem renomeados para EAOs (Entity Access Object,s e não me engano.) e esses sim são EJBs injetados nos Sessions de fachada.
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:09:15
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
então os daos viraram session beans ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:31:02
|
Malachai
Thread.start()
![[Avatar]](/images/avatar/dbfff4b26f72f011fa23bfef71dbb28a.jpg)
Membro desde: 10/10/2007 11:05:01
Mensagens: 26
Localização: Rio de Janeiro
Offline
|
Na boa, muito ruim isso, eu so queria separar o DAO pra poder ter uma camada de negocio e outra de persistencia, pra nao ficar tudo junto. Ses tem alguma sugestao em como implementar isso ? seria muito ruim usar um ejb pra negocio e outro pro dao ?
Imagine uma situação onde vc tem um Business de Usuario.java e quer fazer uma query que que retorne todos os usuarios baseado numa seria de criterios, consultas essas que um outro EJB vai precisar usar tambem. Desta forma eu teria que replicar tudo em vez de chamar essa query no DAO .
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:35:40
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
de outro tópico:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:56:47
|
ddduran
Virtual Machine Man
![[Avatar]](/images/avatar/1239f1a40e317d2de113e7ca17f52464.jpg)
Membro desde: 13/11/2006 16:44:54
Mensagens: 523
Offline
|
que tal algo assim só pra exemplificar, muito se discute sobre JPA ter substituindo a necessidade de DAO, mas não acho que seja uma realidade(em alguns é) imagina colocar um metodo que usa um monte OQL (para generalizar) dentro do seu entity, não seria muito legal, ne?
This message was edited 1 time. Last update was at 30/10/2007 16:01:21
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:59:00
|
ddduran
Virtual Machine Man
![[Avatar]](/images/avatar/1239f1a40e317d2de113e7ca17f52464.jpg)
Membro desde: 13/11/2006 16:44:54
Mensagens: 523
Offline
|
A não é pra criticar o codigo heim fiz rapidim , sei que não devia ter SQLException para não expor que é um DAO de banco, etc, etc mas até que ta bem feito vai
This message was edited 1 time. Last update was at 30/10/2007 16:00:08
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 15:59:43
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
não tme um esquema de externalizar as querys ?
no hibernate se nao me engano tem.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 16:25:13
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
eu também não gostei muito da alternativa de EJB DAOs, mas é a única coisa que achei em livros, embora como o pessoal ja dissse, há muitas controvérsias sobre o assunto...
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 16:25:51
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
http://www.javalobby.org/java/forums/t33053.html
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2007 09:20:23
|
ddduran
Virtual Machine Man
![[Avatar]](/images/avatar/1239f1a40e317d2de113e7ca17f52464.jpg)
Membro desde: 13/11/2006 16:44:54
Mensagens: 523
Offline
|
Rafaelprp wrote:não tme um esquema de externalizar as querys ?
no hibernate se nao me engano tem.
então mais ai você vai deixar todas as querys em xml?
não estamos tantando fugir de usar tando xml e só usar ele quando realmente for aplicavel?
até concordo que nesses casos
é meio desnecessario usar um dao, mas imagine que para executar um determinado metodo de acesso ao banco envolva mais ações, ai não vale a pena centralizar a logica?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2007 09:21:22
|
ozielneto
JavaEvangelist
![[Avatar]](/images/avatar/7a53928fa4dd31e82c6ef826f341daec.jpg)
Membro desde: 21/03/2003 23:05:48
Mensagens: 485
Localização: Assis - SP
Offline
|
Atualmente uso extensivamente EJB3 e JPA,
e sugestão do ddduran é mais viável.
Um outro mote para ter DAOs é a capacidade de
reutilização dos processo de persistências quando
o sistema começa a crescer muito, e em muitos casos
tem casos particulares de negócio.
A regra ainda é a mesma, separar a persistência
da camada de negócio e melhorar a componentização.
Bom trabalho.
|
Arquitetor Sênior e Consultor de TI
Web Site
e-mail |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2007 09:29:42
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
Malachai wrote:Na boa, muito ruim isso, eu so queria separar o DAO pra poder ter uma camada de negocio e outra de persistencia, pra nao ficar tudo junto. Ses tem alguma sugestao em como implementar isso ? seria muito ruim usar um ejb pra negocio e outro pro dao ?
Imagine uma situação onde vc tem um Business de Usuario.java e quer fazer uma query que que retorne todos os usuarios baseado numa seria de criterios, consultas essas que um outro EJB vai precisar usar tambem. Desta forma eu teria que replicar tudo em vez de chamar essa query no DAO .
O que vc está replicando??? Vc tem um DAO que é um EJB e é INJETADO em outro EJB sem a intrusão de um framework como Spring por exemplo. Todo o acesso ao SGBD fica centrtalizado ali. O que vc está replicando? Existe algum jeito melhor de separar camadas do que DI? Não entendi sua posição.
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
|
|