Estou usando spring para gerenciar as transações com o hibernate. Porém, quando executo uma operação que cause algum erro na transação, o rollback é realizado e a transação é eliminada, porém gostaria de saber se é possível criar outra transação para tentar corrigir o problema. Veja a situação abaixo.
Parent other=dao.load(33); //carrega o objeto 33
try {
dao.delete(other)
dao.commit();//Nesse momento ocorrerá uma ConstraintViolationException - parent possui outros objetos relacionados.
} catch (ConstraintViolationException e){
// Sabendo do possivel problema, irei corrigir-lo agora, mas
// a transação ja foi finalizada nesse ponto.
}