Сопоставление Middle Hibernate: N+1, lazy, кеш обновлено

Кеши Hibernate

Вопрос

Сопоставьте кеш и его область действия.

Попробуйте сами

Нажмите слева, потом подходящее справа.

Показать ответ и разбор

Коротко

L1 всегда включён и гарантирует один объект на запись в транзакции. L2 и кеш запросов включаются явно и требуют провайдера. @Cacheable кеширует на уровне сервисов и о сущностях ничего не знает.

Правильные пары

Кеш первого уровня
Один контекст персистентности (транзакция)
Кеш второго уровня
Все сессии одной SessionFactory
Кеш запросов
Результаты (id) конкретного запроса с параметрами
Spring @Cacheable
Результаты методов бинов, вне Hibernate

Разбор

L1 всегда включён и гарантирует один объект на запись в транзакции. L2 и кеш запросов включаются явно и требуют провайдера. @Cacheable кеширует на уровне сервисов и о сущностях ничего не знает.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.