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

С какими проблемами сталкивался в Hibernate

1. **N+1 проблема** – при ленивой загрузке коллекций может возникать множество запросов. Решается через `JOIN FETCH` или `@BatchSize`. ```java @Query("SELECT u FROM User u JOIN FETCH u.orders") List findAllWithOrders(); ``` 2. **Кеширование** – неверная настройка кешей (1st/2nd level) приводит к устаревшим данным. Важно правильно настроить `@Cacheable` и `@CacheEvict`. 3. **LazyInitializationException** – попытка загрузить ленивые поля вне сессии. Решается через `OpenSessionInView` или явную инициализацию `Hibernate.initialize()`. 4. **Проблемы с идентификаторами** – `@GeneratedValue` может вести себя по-разному в зависимости от стратегии (IDENTITY, SEQUENCE, TABLE). 5. **Утечки памяти** – кеш сессий (Session) может разрастаться. Важно закрывать сессии и использовать `clear()`/`evict()`. 6. **Оптимистичная блокировка** – `@Version` может приводить к `OptimisticLockException` при конфликтах.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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