Что такое @Transactional? @Transactional - это аннотация Spring Framework, которая обеспечивает декларативное управление транзакциями. Она позволяет управлять транзакциями базы данных без написания boilerplate кода. Основные концепции 1. Транзакция Транзакция - это последовательность операций с базой данных, которая выполняется как единое целое: Все или ничего: либо все операции выполняются успешно, либо все откатываются. ACID свойства: Atomicity, Consistency, Isolation, Durability Spring создает прокси-объекты для классов с @Transactional: Типы транзакций 1. Propagation (Распространение)
Определяет, как вести себя при вызове транзакционного метода из другого транзакционного метода: 2. Isolation (Изоляция) Определяет уровень изоляции транзакции: 3. Timeout (Таймаут) 4. ReadOnly (Только чтение) 5. Rollback Rules (Правила отката) Что часто спрашивают на собеседованиях про Transactional 1. Self-invocation (Самовызов) Так же стоит помнить, что private и final методы не могут