Встречается на собеседованиях • сегодня
Настраивал ли уровень кэширования 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. **Кэш второго уровня** - требует настройки (Ehcache, Infinispan и др.). Включается в конфигурации:
```xml
true
org.hibernate.cache.ehcache.EhCacheRegionFactory
```
3. **Кэш запросов** - кэширует результаты запросов. Требует:
```xml
true
```
Для работы кэша второго уровня сущности должны быть помечены аннотациями:
```java
@Entity
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class User { ... }
```

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