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>
Другие вопросы по тегам