25. Для чего нужна аннотация @Cacheable?

25. Для чего нужна аннотация @Cacheable?

UNKNOWN

@Cacheable  -  аннотация  JPA,  используется  для  указания  того,  должна  ли сущность храниться в кэше второго уровня, в случае, если в файле persistence.xml (или в  свойстве  javax.persistence.sharedCache.mode  конфигурационного  файла)  для элемента shared-cache-mode установлено одно из значений:

  • ENABLE_SELECTIVE: только сущности с аннотацией @Cacheable (равносильно значению  по  умолчанию  @Cacheable(value=true))  будут  сохраняться  в  кэше второго уровня.
  • DISABLE_SELECTIVE: все сущности будут сохраняться в кэше второго уровня, за  исключением  сущностей,  помеченных  аннотацией  @Cacheable(value=false) как некэшируемые.
  • ALL: сущности всегда кэшируются, даже если они помечены как некэшируемые.
  • NONE: ни одна сущность не кэшируется, даже если помечена как кэшируемая. При данной опции имеет смысл вообще отключить кэш второго уровня.
  • UNSPECIFIED: применяются значения по умолчанию для кэша второго уровня, определенные Hibernate. Это эквивалентно тому, что вообще не используется shared-cache-mode,  так  как  Hibernate  не  включает  кэш  второго  уровня,  если используется режим UNSPECIFIED.

Аннотация  @Cacheable  размещается  над  классом  сущности.  Её  действие распространяется на эту сущность и её наследников, если они не определили другое поведение.


Предыдущий вопрос: 24. Для чего нужна аннотация @Access?

Следующий вопрос: 26. Для чего нужны аннотации @Embedded и @Embeddable?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page