Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] @Transactional

Ao realizar o desafio, eu esqueci de inserir a Annotation @Transactional no PacienteController. No entanto, ainda assim foi realizada a persistência no banco de dados ao enviar uma nova requisição.

Logo, qual a utilidade dessa Annotation? Ela garante mais segurança ao realizar as operações?

1 resposta
solução!

Olá Matheus,

Primeiramente, parabéns por estar realizando o curso de Spring Boot 3 e por estar se dedicando ao desafio proposto.

Sobre a sua dúvida, a Annotation @Transactional é utilizada para controlar transações em métodos de um serviço. Ela garante que, caso ocorra algum erro durante a execução do método, a transação será desfeita e o estado anterior do banco de dados será restaurado.

Em outras palavras, se você estiver realizando diversas operações no banco de dados dentro de um mesmo método e ocorrer algum erro em alguma dessas operações, a transação será desfeita e nenhuma das operações será persistida no banco de dados. Isso garante a integridade dos dados e evita que o banco de dados fique em um estado inconsistente.

Sem a anotação @Transactional, ainda é possível realizar operações de persistência no banco de dados, mas a garantia de atomicidade e consistência dos dados não é garantida. Portanto, é recomendado utilizar a anotação sempre que houver a necessidade de garantir a integridade dos dados no banco de dados.

Espero ter ajudado a esclarecer sua dúvida. Qualquer outra questão, fique à vontade para perguntar.

bons estudos!