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

Какие проблемы возникают при использовании аннотации @Lazy без @Transactional

Использование `@Lazy` без `@Transactional` может привести к проблемам: 1. **LazyInitializationException** - при попытке загрузить ленивые коллекции вне транзакции: ```java @Entity public class User { @OneToMany(fetch = FetchType.LAZY) private List orders; } // Без @Transactional User user = userRepository.findById(1L); user.getOrders(); // LazyInitializationException ``` 2. **Проблемы с проксированием** - Spring создает прокси для ленивых бинов, но без транзакции не может управлять их инициализацией. 3. **Неожиданное поведение** - зависимости могут оставаться неинициализированными до первого использования, что может вызвать NPE. 4. **Проблемы с контекстом** - в веб-приложениях сессия Hibernate может закрыться до инициализации ленивых полей. Решение: всегда использовать `@Transactional` при работе с ленивыми зависимостями или ленивой загрузкой JPA.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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