Controle Transacional

3 respostas
J

Como realizar o controle transacional no hibernate?
Tenha várias classes responsáveis por gerar Regras de Negócio. Estas RN estão interligadas via Facade. A minha dúvida é como realizar o controle transacional. Devo criar uma Classe para controla isso? Ex.

facade {

 void atualizarItens() {
       controleTransação.iniciar();
       try {
          RN1.Atualizar();
          RN2.Atualizar();
          RN3.Atualizar();
      } catch (TransactionException e) {  
              //... código que trata o erro  
              controleTransação.rollback();
      } finally {  
             // código executado, mesmo levantando excessão  
             controleTransação.commit();
      }  

 }

}

Há alguma forma de realizar este procedimento, ou apenas consigo controlar a transação dentro do manager?

3 Respostas

LucianoM86

Você usa Spring ou EJB?Se sim, eles podem fazer isso automaticamente pra você.

Você quer que todas as atualizações estejam dentro de uma mesma transação?

J

Utilizo Spring.
A Idéia seria que as 3 transações fossem dependentes. Se no ultimo método desse problema, com um rollback retorna ao estado inicial.

Atualmente estou utilizando com JSF,Hibernate e Spring. Me parece que cada manager tem uma sessão independente.

LucianoM86

Você pode usar o controle transacional do Spring, que é bem completo.

Criado 11 de abril de 2012
Ultima resposta 11 de abr. de 2012
Respostas 3
Participantes 2