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.