Встречается на собеседованиях • сегодня
Для чего нужен механизм кэширования в Hibernate
Кэширование в Hibernate повышает производительность за счёт сокращения обращений к БД. Основные виды кэшей:
1. **Кэш первого уровня (Session cache)** – автоматический, привязан к сессии. Объекты хранятся, пока сессия открыта. Пример:
```java
Session session = sessionFactory.openSession();
User user1 = session.get(User.class, 1L); // Запрос к БД
User user2 = session.get(User.class, 1L); // Берётся из кэша
```
2. **Кэш второго уровня (Second-level cache)** – общий для всех сессий, требует настройки (Ehcache, Infinispan). Конфиг в `hibernate.cfg.xml`:
```xml
true
org.hibernate.cache.ehcache.EhCacheRegionFactory
```
3. **Кэш запросов (Query cache)** – кэширует результаты HQL-запросов. Включается отдельно:
```xml
true
```
Используется для часто читаемых, редко изменяемых данных. Важно аккуратно инвалидировать кэш при изменениях.

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