Сопоставление Middle Hibernate: N+1, lazy, кеш обновлено
Кеши Hibernate
Вопрос
Сопоставьте кеш и его область действия.
Попробуйте сами
Нажмите слева, потом подходящее справа.
Показать ответ и разбор
Коротко
L1 всегда включён и гарантирует один объект на запись в транзакции. L2 и кеш запросов включаются явно и требуют провайдера. @Cacheable кеширует на уровне сервисов и о сущностях ничего не знает.
Правильные пары
Кеш первого уровняОдин контекст персистентности (транзакция)
Кеш второго уровняВсе сессии одной SessionFactory
Кеш запросовРезультаты (id) конкретного запроса с параметрами
Spring @CacheableРезультаты методов бинов, вне Hibernate
Разбор
L1 всегда включён и гарантирует один объект на запись в транзакции. L2 и кеш запросов включаются явно и требуют провайдера. @Cacheable кеширует на уровне сервисов и о сущностях ничего не знает.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.