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

Какие знаешь особенности Spring транзакций

Spring транзакции работают на основе AOP и имеют несколько ключевых особенностей:

  1. Propagation - определяет поведение при вложенных транзакциях. Например, REQUIRED (по умолчанию) использует существующую или создает новую, REQUIRES_NEW всегда создает новую.

  2. Isolation - уровень изоляции (READ_COMMITTED, SERIALIZABLE и др.). Влияет на видимость изменений между транзакциями.

  1. Read-only - оптимизация для операций только чтения.

  2. Rollback rules - какие исключения вызывают откат. По умолчанию - только unchecked.

  3. Timeout - максимальное время выполнения.

Пример:

java
@Transactional(
  propagation = Propagation.REQUIRED,
  isolation = Isolation.READ_COMMITTED,
  timeout = 30,
  rollbackFor = {SQLException.class}
)
public void transferMoney() {
  // business logic
}

Важно: транзакции работают только через прокси, поэтому вызовы внутри одного класса (без прокси) не будут учитывать аннотации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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