Встречается на собеседованиях • сегодня
Какие знаешь Cache JPA
Hibernate предлагает два уровня кеширования в JPA:
1. **Кеш первого уровня (L1)** - привязан к сессии, включен по умолчанию. Хранит объекты в течение жизни сессии.
```java
EntityManager em = emf.createEntityManager();
User user1 = em.find(User.class, 1L); // Запрос в БД
User user2 = em.find(User.class, 1L); // Берется из кеша L1
```
2. **Кеш второго уровня (L2)** - общий для всех сессий, требует явной настройки (Ehcache, Infinispan и др.). Настраивается в persistence.xml:
```xml
```
Также есть:
- **Query Cache** - кеширует результаты запросов (требует L2)
- **Collection Cache** - кеширует коллекции
Для управления кешированием используются аннотации:
- `@Cacheable`
- `@Cache` (Hibernate)
- `@org.hibernate.annotations.Cache` с указанием стратегии (READ_WRITE, NONSTRICT_READ_WRITE и др.)

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