| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/02/2007 16:21:06
|
ronildobraga
JavaEvangelist
Membro desde: 29/03/2006 10:06:51
Mensagens: 443
Localização: sao paulo - sp
Offline
|
Gostaria de saber uma boa maneira de controlar as transacoes do hibernate. Hoje eu faco isso manualmente em uma classe de negocio da seguinte maneira:
Isso gera uma pouco de transtorno pois gera muito codigo repetitivo, eu tentei usar uma abordagem usando Anotacoes conforme este tutorial:
http://www.guj.com.br/java.tutorial.artigo.182.1.guj
Essa solucao pra mim tava otima, mas depois que comecei a "debugar" verifiquei que varias transacoes eram abertas e fechadas sem muito sentido.
Se alguem tiver uma dica por favor postem abaixo.
Desde ja muito obrigado
|
Ronildo da Rocha Braga Jr.
Programador, nada mais.
blog: http://www.iprogramming.blogspot.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2007 05:08:32
|
plentz
Moderador
![[Avatar]](/images/avatar/73f490f3f868edbcd80b5d3f7cedc403.png)
Membro desde: 28/01/2004 07:34:12
Mensagens: 1584
Localização: Porto Alegre, RS
Offline
|
Você tentou entender porque estas transações estavam sendo abertas?
|
Diego Plentz - Twitter
"Provide options, don't make lame excuses." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2007 07:36:57
|
guilherme.chapiewski
JavaEvangelist
![[Avatar]](/images/avatar/dc3adabb7efe88ae26a804e45cc8d245.png)
Membro desde: 09/01/2007 16:56:48
Mensagens: 310
Localização: Rio de Janeiro
Offline
|
Uma coisa bem legal de se fazer que pode ser uma alternativa pra você é controlar as transações com AOP: http://www.hibernate.org/115.html
Abraços,
Guilherme Chapiewski
|
Guilherme Chapiewski
http://gc.blog.br - Blog sobre desenvolvimento de software e tecnologia |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2007 09:01:33
|
ronildobraga
JavaEvangelist
Membro desde: 29/03/2006 10:06:51
Mensagens: 443
Localização: sao paulo - sp
Offline
|
plentz wrote:Você tentou entender porque estas transações estavam sendo abertas? 
Tentei... mas esses componetes que fazem uso do CGLIB sao confusos, segue abaixo parte da minha implementacao
Eu nao entendo o momento em que o commit sera executado, parece que a rotina para depois de methodProxy.invokeSuper(object, args); e depois sem muito sentido ela e executada
|
Ronildo da Rocha Braga Jr.
Programador, nada mais.
blog: http://www.iprogramming.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2007 16:26:42
|
carneiro
JavaEvangelist
![[Avatar]](/images/avatar/18b91b19f6a289e7708da7f778b2c609.jpg)
Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline
|
Olá Ronildo,
Acho que já troquei emails com você, não?
O methodProxy.invokeSuper(object, args) invoca o método "de verdade"! E logo depois de terminar a execução dele haverá o commit.
Agora quanto a muitas transações abertas e fechadas... é uma transação por anotação. Tome cuidado para por a anotação no lugar adequado: geralmente em um façade para as operaões, por exemplo.
Abraço
|
Davi Luan Carneiro
Desenvolvedor JEE |
|
|
 |
|
|
|
|