Кэширование в Hibernate — это механизм хранения данных в памяти для сокращения количества запросов к базе данных, что повышает производительность приложения.
Hibernate поддерживает три уровня кэширования:
Кэш первого уровня (First-Level Cache):
Session.Кэш второго уровня (Second-Level Cache):
SessionFactory).Кэш запросов (Query Cache):
Пример включения кэша второго уровня для сущности и запроса:
java
java
Стратегии управления параллельным доступом для кэша второго уровня:
| Стратегия | Описание |
|---|---|
NONE | Кэширование отключено. |
READ_ONLY | Используется для данных, которые не изменяются. Быстрая. |
NONSTRICT_READ_WRITE | Подходит для данных, которые редко изменяются. Нет блокировок при чтении. |
READ_WRITE | Подходит для данных, которые часто изменяются. Требует записи блокировок. |
TRANSACTIONAL | Используется для данных в транзакционно-безопасной среде. |