Controle Transacional

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?

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?

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.

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