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!