Встречается на собеседованиях • сегодня
С какими проблемами сталкивался в 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` при конфликтах.

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