В моем проекте я должен поместить различные таблицы данных в разные кеши L2 на основе использования. Некоторые таблицы требуют реплицированного кеша, в то время как другие могут позволить себе только распределенный кеш. Возможно ли такое конфигурирование с спящим режимом?Hibernate разные кеши для разных столов?
В 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 вызовов кэша, как infinispan перехватчики?
Действительно, это самый простой способ для достижения этой цели. Просто помните, что имя свойства может меняться при работе в Wildfly или EAP. См. Документ. –
Это работает, если 'com.acme.Person' является подклассом и связанным с ним hbm является. В моем случае мне нужно кэшировать только один объект в дереве наследования java, но все это дерево имеет только одну таблицу. –
Viraj