https://medium.com/@mail.thiagomendes/how-spring-framework-handles-transactions-behind-the-scenes-d8fb3ba322d7