Fiz o código exatamente como nos exercício e percebi que com ou sem o rollback os dados não são persistidos de qualquer maneira. Como o meu commit é realizado após a execução dos dois métodos adiciona, o segundo método ja lança uma exceção impedindo que seja executado o commit, ficando dessa maneira inútil o uso do rollback.