Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Begin e Commit na JPA

No vídeo, o usuário não era salvo sem iniciar uma transação.

Para salvar o usuário no banco, por que é necessário ter apenas o begin? Qual a diferença do begin e do commit neste caso?

Anteriormente, pensava que apenas com o commit o usuário era salvo no banco.

3 respostas

Oi Gabriel,

O begin delimita o início da transação e tudo o que ocorrer até o commit será propagado para o banco de dados.

Mas existem métodos, como o flush, que servem para "forçar" uma sincronização com o banco de dados, mesmo antes do commit ser realizado.

Bons estudos!

Oi Rodrigo,

Se o begin delimita o início da transação, o commit teria qual papel exatamente?

Dito isso, no curso, em um dos testes, depois de ser iniciado o begin, uma entidade foi salva no banco de dados e depois foi consultada (com sucesso). Essa consulta, nao deveria falhar? Por não ter havido o commit?

solução!

Oi Gabriel,

O commit finaliza e "confirma" as operações com o banco de dados. Se houver algum problema antes do commit, ainda pode ser realizado um rollback da transação, que desfaz as operações realizadas, garantindo assim a consistência das informações.