Olá, eu ainda não entendi muito bem o uso do @Transactional. Antes estava funcionando, depois colocamos ele em métodos que faziam transações. Até ai tudo bem, mas por que antes funcionava e por que eu devo colocar agora?
Olá, eu ainda não entendi muito bem o uso do @Transactional. Antes estava funcionando, depois colocamos ele em métodos que faziam transações. Até ai tudo bem, mas por que antes funcionava e por que eu devo colocar agora?
a transação serve para que caso haja algum erro na persistência de dados o comando SQL de insert ou update seja desfeito. isso é um recurso do banco de dados.
por exemplo, vc faz uma venda, emite uma nota, baixa estoque, cria um lançamento financeiro, e várias outras coisas. se não estiver usando transação, pode acontecer da venda ser salva, mas o estoque não ser baixado, ou o lançamento financeiro não ser gerado, o que gera inconsistência nos dados.
esse tratamento quando não existia framework essa feito de forma manual.
abre conexao. seta autocommit para falsear, faz as operações, executar um commit, caso ocorra exception, faz um roloback. hoje basta colocar a anotação @Transactional
Entendi, obrigado.