Controle de transação no Spring com a anotação @Transactional - Parte 1

Java, Spring Add comments

Uma 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.

Deixe seu comentario

WP Theme & Icons by N.Design Studio
Assine Assine os comentarios