Controle de transação no Spring com a anotação @Transactional - Parte 1
Java, Spring Add commentsUma das formas de fazer controle de transação no spring é usando a anotação @Transactional, basicamente ela funciona da seguinte forma, primeiro você informa no contexto da aplicação que esta anotação será válida:
<tx:annotation-driven transaction-manager=”transactionManager”/>
Nota: O parâmetro transaction-manager é opcional se o bean que controlará a transação tiver o nome transactionManager.
Agora para definir uma transação basta adicionar a transação ao método, a classe ou na interface. Veja as principais propriedades:
isolation - define como a transação a será controlada, as opções são: DEFAUT, READ_COMMIT, READ_UNCOMMIT e REPEATABLE_READ e SERIALIZABLE.
propagation - Tipo de propagação da transação, se é obrigatória, se requer que uma nova seja criada.
readOnly - não permite que alterações sejam feitas no banco de dados, resolve problema de flush do hibernate.
rollBackFor - arranjo de exceções verificadas que devem gerar roll back.
nonRollBackFor - arranjo de exceções que não devem gerar roll back.
Caso uma classe ou interface seja anotada, e precisa de customizar apenas um método, pode anotar o método a ter a transação customizada, pois, a anotação no método sobrescreve a anotação da classe ou interface.
Na próxima parte falarei de algumas regras e limitações.
Comentarios recentes