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

Какие знаешь виды кэша в 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 и др.). ```xml org.hibernate.cache.ehcache.EhCacheRegionFactory true ``` 3. **Кэш запросов (Query cache)** Кэширует результаты HQL-запросов. Требует включения: ```java Query query = session.createQuery("FROM User").setCacheable(true); ``` 4. **Коллекции** Кэшируются отдельно от сущностей (требует аннотации `@Cache` для коллекции). Важно: кэш второго уровня и кэш запросов требуют явного управления (настройка TTL, обновление при изменениях).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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