Controlando as transacoes no hibernate  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
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/
[Email] [WWW] [MSN]
plentz
Moderador
[Avatar]

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."
[Email] [WWW]
guilherme.chapiewski
JavaEvangelist
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN]
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/
[Email] [WWW] [MSN]
carneiro
JavaEvangelist
[Avatar]

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
[Email] [MSN]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team