Встречается на собеседованиях • сегодня
Какие существуют уровни кэширования в Hibernate
Hibernate поддерживает два уровня кэширования:
1. **Кэш первого уровня (L1)** – сессионный кэш, привязан к текущей сессии. Автоматически включен, хранит объекты только в рамках одной сессии. При повторном запросе того же объекта в рамках сессии Hibernate не обращается к БД.
```java
Session session = sessionFactory.openSession();
User user1 = session.get(User.class, 1L); // Запрос к БД
User user2 = session.get(User.class, 1L); // Берется из кэша L1
```
2. **Кэш второго уровня (L2)** – общий для всех сессий. Требует явной настройки (Ehcache, Infinispan и др.). Кэширует данные между разными сессиями.
```xml
```
Также существует **кэш запросов** (отдельно настраивается), который кэширует результаты HQL/Criteria запросов.

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