Sobes.tech
Junior — Middle

É possível aplicar a anotação @Transactional a métodos privados em serviços Java?

sobes.tech IA

Resposta da IA

A anotação @Transactional no Spring funciona através de proxies que são criados em torno dos métodos públicos dos beans. Os proxies interceptam as chamadas e gerenciam as transações. Se um método for privado, a chamada ocorre diretamente dentro da classe, contornando o proxy, e a anotação não terá efeito.

Portanto, não faz sentido aplicar @Transactional a métodos privados, pois a transação não será aberta. Recomenda-se anotar com @Transactional os métodos públicos que devem ser transacionais.