Precisava que o Roolback desfizesse a Inclusão…
tentei usar a mesma sessao p/ as 2 transações, mas vi que cada sessão só da suporte a uma transação por vez
(Talvez não saiba como abrir 2 transações ao mesmo tempo p/ sessão).
Ou o Hibernate não suporta transações aninhadas ???
Precisava que o Roolback desfizesse a Inclusão…
tentei usar a mesma sessao p/ as 2 transações, mas vi que cada sessão só da suporte a uma transação por vez
(Talvez não saiba como abrir 2 transações ao mesmo tempo p/ sessão).
Ou o Hibernate não suporta transações aninhadas ???
Não entendi muito bem o que você deseja fazer com essas “transações aninhadas” …
Mais você não vai conseguir “desfazer” uma inclusão, até porque a inclusão foi feita utilizando uma outra sessão, a sessão1 não “enxerga” a sessão2 acredito eu…
E a inclusão ja foi feita, você não vai conseguir excluir estas infos do banco…
DaniloAndrade
Bom dia!
como o mihawk~ falou, da forma que vc esta fazendo vc nunca vai conseguir da o rollback.
e tem outra coisa seu metodo gravaT2 tem responsabilidade demais alem de gravar que é a função principal dele ele ta abrindo e fechando sessão e iniciando e finalizando transação. isso é uma má pratica
publicstaticvoidmain(Stringargs[]){Sessions1=HibernateUtil.newSession();s1.getTransaction().begin();// s1=Transação "PAI" ClienteDaodao=newClienteDao(s1);Clientecliente=newCliente();dao.grava(cliente);ClienteoutroCliente=newCliente();dao.grava(outroCliente);// dentro metodo grava deve ser usado apenas o session.persist(); não deve se abrir sessão nem transação// mais codigo transacional aqui...s1.getTransaction().rollback();//para que o rollback funcione tudo deve estar na mesma transação e na mesma sessãos1.close();}
Hebert_Coelho
Não faça isso. Não existe a necessidade de aninhar transações. [=
Faça o seguinte,
Crie, faça o que tiver que fazer, finalize.
Crie outra, faça o que tiver que fazer, finalize.
V
v001
Oi gente,
Antes de tudo obrigado pela ajuda.
Pelo que entendi, numa mesma session só pode haver uma transação sendo executada ???
se a resposta for sim então o Hibernate NÃO suporta transações aninhadas ??