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

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