Встречается на собеседованиях • сегодня

Как реализуешь @Transactional

@Transactional в Spring управляет транзакциями на уровне метода или класса. Под капотом использует AOP (аспектно-ориентированное программирование). Основные параметры:

  • propagation (например, REQUIRED, REQUIRES_NEW)
  • isolation (уровень изоляции, например, READ_COMMITTED)
  • readOnly (оптимизация для чтения)
  • rollbackFor / noRollbackFor (указание исключений для отката)

Пример:

java
@Service
public class UserService {
    @Transactional
    public void createUser(User user) {
        // Логика сохранения, при ошибке транзакция откатится
        userRepository.save(user);
    }
}

Важно:

  1. Работает только с public-методами (из-за проксирования).
  2. Самовызов (вызов метода внутри того же класса) обходит транзакцию.
  3. Для JDBC использует DataSourceTransactionManager, для JPA — JpaTransactionManager.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы