A anotação @Transactional onde ela deve ficar no controller ou na Service?
A anotação @Transactional onde ela deve ficar no controller ou na Service?
Olá, Bruno!
O Controller não deve conter regras de negócio, que são responsabilidade do Model no estilo de arquitetura MVC (Model-View-Controller). A responsabilidade do controller é mapear entradas e saídas e direcionar o fluxo para a camada de negócio. Portanto, não deve gerenciar como uma transação em banco de dados irá ocorrer.
Já o Service é uma sub-camada do Model, que pode conter regras de negócio e detalhes de infraestrutura (como transações em Banco de Dados). Se você tiver uma camada com Repository beans que não seja a default do Spring Data, também pode gerenciar as transações nesta camada.
Olá,
Tive a mesma dúvida do Bruno, pois no curso tem vários métodos nos Controllers anotados com @Transactional.
Então o correto é mudar esta anotação para os métodos correspondentes nas classes service ?
Obrigada, Andréa
Sim pelo o que eu entendi a transação deve ser na Service