| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 00:02:32
|
diogozero
JavaBaby
![[Avatar]](/images/avatar/cc6e581ce94a2c7e20266147ae0a1079.jpg)
Membro desde: 15/04/2010 23:46:49
Mensagens: 78
Localização: Cajazeiras, PB
Offline
|
Olá amigos do GUJ,
Estou desenvolvendo uma aplicação JavaSE e na camada de persistência eu estou usando JPA com Hibernate.
Toda vez que eu vou persistir alguma coisa no banco eu chamo um DAO que cria o EntityManager a partir do EntityManagerFactory e utiliza ele.
Mas não sei se isso é o melhor a se fazer, acho meio desperdicio instanciar um EntityManager diferente a cada operação com o banco.
O que eu quero saber é: Qual a melhor prática nesse caso?
Instanciar apenas um EntityManager durante toda a aplicação? Se sim, como seria essa implementação?
|
Diogo Dantas Moreira
Graduado em Análise e Desenvolvimento de Sistemas
Blog - Lattes - Twitter - Facebook
MSN: diogo.dmoreira@gmail.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 09:37:49
|
rodrigo.ferreira
JavaGuru
![[Avatar]](/images/avatar/0d55e009fa8e9e8ec97aa091dfaa28e0.jpg)
Membro desde: 28/08/2008 20:38:07
Mensagens: 200
Offline
|
Oi Diego, bom dia! Isto depende muito, mas pode-se fazer sim. Para fazer isto, você deve se basear em um padrão de projeto "GoF" chamado "Singleton", que é, em suma, um conceito muito simples: ao invés de instanciar um novo objeto todas as vezes, verifique se já existe um objeto instanciado (static) e retorne o próprio. Uma dica: Não use o DAO para criar um EntityManager, implemente uma SimpleFactory que ficará responsável exclusivamente para isto. Veja um exemplo: Uma dica: Se for possível, utilize um servidor de aplicações para gerenciar estas conexões, assim você evita problemas de concorrência e má utilização (e liberação) de recursos. Aqui tem algumas dicas interessantes sobre design patterns: http://www.guj.com.br/articles/137 Abraço,
This message was edited 4 times. Last update was at 01/05/2011 09:46:07
|
Rodrigo Lopes Ferreira
Sun Certified Enterprise Architect for the Java Platform, Enterprise Edition 5
Sun Certified Business Component Developer for the Java Platform, Enterprise Edition 5
Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5
Sun Certified Programmer for the Java 2 Platform, Standard Edition 5
Tecnólogo em Informática com Ênfase em Gestão de Negócios - FATEC - Mococa - SP
Pós Graduando em Desenvolvimento de Sistemas em Software Livre - Universidade Católica de Brasília |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 12:22:22
|
romarcio
JWizard
![[Avatar]](/images/avatar/0dc800465c816add16e0b6d63be91f49.jpg)
Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline
|
Sobre JPA com JSE, da uma olhada: utilizando-swing-com-jpahibernate
|
Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer
Blog | Facebook | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 16:17:19
|
diogozero
JavaBaby
![[Avatar]](/images/avatar/cc6e581ce94a2c7e20266147ae0a1079.jpg)
Membro desde: 15/04/2010 23:46:49
Mensagens: 78
Localização: Cajazeiras, PB
Offline
|
Valeu galera, clareou um bocado a minhas idéias aqui =)
|
Diogo Dantas Moreira
Graduado em Análise e Desenvolvimento de Sistemas
Blog - Lattes - Twitter - Facebook
MSN: diogo.dmoreira@gmail.com |
|
|
 |
|
|