Galera, o Autocommit tem o rollback embutido??
3 dúvidas:
Se eu tiver uma persistência com gravação em mais de uma tabela, se der erro na última posso dá o rollback? voltará todas as outras gravações que fiz ao banco mas sem o commit???
como o rollback só funciona com o autocommit desligado, se eu deixar o autocommit ligado e não usar rollback, ele fará o acerto para mim na situação 1? de dá o rollback sozinho?
se for usar o rollback é bom que se utilize nos blocos catch???
Não. As operações commit e rollback de javax.sql.Connection são para ser usadas explicitamente. Quando não queres usar o commit explicitamente, usas autocommit ( que é o default) , mas nesse caso também não é possivel usar roolback.
3. se for usar o rollback é bom que se utilize nos blocos catch???
É a única forma de usar roolback.
Connectioncon=...// obtem connectioncon.setAutoCommit(false);try{// faz alguma coisa com con// se tudo der certo as operações são aceitescon.commit();}catch(Exceptione){// se algo der errado, tudo é revertidocon.roolback();}finally{// independenmente se dar certo ou não, a conexão tem que ser fechadacon.close()}