Встречается на собеседованиях • сегодня
Работал ли с @Transactional
Да, работал. @Transactional в Spring используется для управления транзакциями. Основные моменты:
- Распространение (Propagation): например,
REQUIRED(по умолчанию) — если транзакция есть, используется она, иначе создаётся новая. - Изоляция (Isolation): например,
READ_COMMITTED— гарантирует, что читаются только закоммиченные данные. - Таймаут (Timeout): ограничивает время выполнения.
- RollbackFor/NoRollbackFor: указывает, при каких исключениях откатывать транзакцию.
Пример:
java
@Service
public class UserService {
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30)
public void updateUser(User user) {
// Логика обновления пользователя
}
}Важно помнить:
@Transactionalработает только на public-методах.- Самовызов (вызов метода из того же класса) обходит проксирование, и аннотация не сработает.
- По умолчанию откатывается только на unchecked-исключениях (
RuntimeException).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы