Deleção/inserção/cascata/DAO

Bom dia a todos.
Eu gostaria de saber como vocês fazem inserção/deleção em cascata nos seus DAO’S.

por exemplo:
Table - Papel
Table - Pessoa
Table - PapelPessoa.

1º - Deleto em papelPessoa
2º - Deleto em Pessoa
3º - Deleto em papel

Só que nos daos, cada acesso ao banco é realizada uma transação. Bom, e se no momento de deletar o papel, ocorrer alguma exceção, e eu querer que seja realizado um rollback nas outras tabelas. Como vocês fazem?
Quando é realizado em cascata, vocês usam apenas uma sessão?

essa deleção em cascata q tu chamas eh uma rotina… e como tal deve ser tratada na tua camada de negocios, nao nos DAO’s… uma dica: permite que a transação seja controlada também na camada de negocios…

Geralmente eu trato isso com o Spring utilizando o suporte a transações, que por sinal é bem legal. Caso ocorra alguma exception em um método, um rollback é dado.