Hibernate использует двухуровневую архитектуру кеширования для оптимизации производительности базы данных и снижения нагрузки на запросы.
Hibernate Session представляет собой первый уровень кеша. Основные характеристики:
Кеш второго уровня работает на более высоком уровне, чем первый:
| Аспект | Первый уровень | Второй уровень |
|---|---|---|
| Область | Одна сессия | SessionFactory |
| По умолчанию | Включён | Отключён |
| Общий доступ | Не общий | Общий между сессиями |
| Очистка | Автоматическая при закрытии сессии | Ручная или по конфигурации |
Кеш первого уровня критически важен для предотвращения дублирующихся запросов в пределах транзакции и поддержания консистентности данных. Когда объект загружается или сохраняется в сессии, последующие обращения к этому же объекту используют кешированную версию вместо повторного запроса к базе.
Кеш второго уровня расширяет эту оптимизацию на все сессии приложения, что полезно для операций с большим количеством чтений и справочных данных, которые редко меняются.
Кэш первого уровня Hibernate автоматически включен по умолчанию и работает на уровне Session, сохраняя персистентные объекты в пределах одной сессии.
Новый — ещё не проверен сообществом
Вы