sfd
Java 192. Как «под капотом» работает @Transactional?
Аннотация @Transactional в Spring Framework предоставляет абстракцию управления транзакциями базы данных. Она позволяет гарантировать целостность данных при выполнении операций в базе данных и обеспечивает откат изменений в случае возникновения ошибок. Когда метод помечен аннотацией @Transactional, Spring создает прокси-объект для этого метода, который обеспечивает управление транзакцией. При вызове метода, Spring начинает новую транзакцию в базе данных и выполняет код метода в рамках этой транзакции...
Spring виды transactional propagation
REQUIRED: Это наиболее распространенный тип. Если метод, помеченный @Transactional, вызывается внутри другого метода, который уже выполняется в транзакции, то новая транзакция не создается. Вместо этого метод присоединяется к уже существующей транзакции. Если метод вызывается вне транзакционного контекста, создается новая транзакция. REQUIRES_NEW: Всегда создает новую транзакцию. Если текущая транзакция существует, она будет приостановлена и создана новая транзакция для выполнения метода. MANDATORY требует, чтобы текущая транзакция уже существовала при вызове метода...