Olá pessoal.
Pelo que entendi pesquisando sobre o assunto de controle transacional:
Em ambientes gerenciados por um servidor de aplicação posso usar o JTA para gerenciar as transações do banco de dados, o servidor de aplicação será responsável por implementar o JTA. Quando tenho uma aplicação em Spring Boot que roda em um servlet container que não disponibiliza implementação do JTA, esse controle / implementação é feita pelo Spring baseado no JPA. Dúvida:
- Aplicação simples com Hibernate rodando em um Tomcat: Uma transação onde não tem um servidor de aplicação oferecendo a implementação do JTA, e também não usamos controles de transação como o do Spring por exemplo. Quem realiza esse controle? É o Hibernate usando o JDBC no fundo? O Hibernate lida com um gerenciador de transações nesse caso usando o JDBC, e a transação JDBC é controlada pelo gerenciador de transações do banco de dados (SGBD)?
Obrigado.