Встречается на собеседованиях • сегодня
Выполнится ли транзакция с помощью приватного метода с аннотацией Transactional
Нет, приватные методы с аннотацией @Transactional не будут работать, так как Spring AOP (который реализует транзакционность) использует проксирование. Прокси могут перехватывать вызовы только public методов.
Пример:
java
@Service
public class UserService {
@Transactional
private void updateUser() { // Не сработает!
// логика обновления
}
public void process() {
updateUser(); // Транзакция не начнётся
}
}Для работы транзакций:
- Метод должен быть public
- Вызываться извне класса (не через внутренний вызов)
- Лучше выносить transactional-методы в отдельный сервис

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