Hibernate разные кеши для разных таблиц?
В моем проекте я должен поместить разные данные таблицы в разные кэши L2 в зависимости от использования. Для некоторых таблиц требуется реплицированный кеш, а для других - только распределенный кеш. Возможна ли такая конфигурация в спящем режиме?
В hibernate.properties мы можем указать только один кеш
hibernate.cache.infinispan.entity.cfg=replicated-cache-entity
hibernate.cache.infinispan.collection.cfg=replicated-cache-entity
Этот кеш настроен в ininispan.xml
<namedCache name="replicated-cache-entity">
<clustering mode="replication">
<stateRetrieval fetchInMemoryState="false" timeout="20000"/>
<sync replTimeout="20000"/>
</clustering>
</namedCache>
Есть ли способ указать разные кэши (имена кэшей в infinispan) для одной таблицы или класса?
ИЛИ ЖЕ
Есть ли способ перехватить вызовы кэша L2 в спящем режиме, как перехватчики с бесконечным интервалом?
1 ответ
В руководстве пользователя Infinispan также упоминаются конфигурации кэша для каждого объекта:
Кроме того, это более точное определение кэша позволяет пользователям определять параметры кэша для каждого объекта / коллекции. Например:
<!-- If using Hibernate, add to your hibernate.cfg.xml -->
<property name="hibernate.cache.infinispan.com.acme.Person.cfg">
person-entity
</property>
<property name="hibernate.cache.infinispan.com.acme.Person.addresses.cfg">
addresses-collection
</property>