Der Second Level Cache lässt sich ganz allgemein (Ein- und Ausschalten) über die "Persistence.xml" konfigurieren
Konfigurationsdatei festlegen
<property name="hibernate.javax.cache.uri" value="classpath:ehcache.xml" />
Legt fest über welche Date, mit welchem Namen das Cache-Verhalten allgemein konfiguriert wird. Normalerweise keine Änderung notwendig.
Regionfactory festlegen
<property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.jcache.JCacheRegionFactory" />
Legt fest, welche RegionFactory verwendet werden soll. Normalerweise keine Änderung notwendig.
Einschalten Caching allgemein
<property name="hibernate.cache.use_second_level_cache" value="true" />
Schaltet das Caching, den Second Level Cachen grundsätzlich ein. Bedeutet nicht, dass bereits etwas gecached wird.
Festlegen der Strategie für das einschalten des Caches
<property name="javax.persistence.sharedCache.mode" value="ENABLE_SELECTIVE" />
Legt fest, ob alle Entities grundsätzlich gecached werden und nicht gewollte Caches manuell deaktiviert werden müssen. Mögliche Werte:
- value="ENABLE_SELECTIVE" → Caching für alle Entities aus, Cache muss bei jedem Entity manuell aktiviert werden
- value="DISABLE_SELECTIVE" → Caching für alle Entities an, Cache muss bei jedem Entity manuell deaktiviert werden
Einschalten Query Cache allgemein
<property name="hibernate.cache.use_query_cache" value="true" />
Schaltet das Caching für Queries grundsätzlich ein. Bedeutet nicht, dass bereits etwas gecached wird.
Festlegen der Strategie für die beiden Default Queries "AutoQueryData" und "FindAll"
<property name="xdev.queryCache.mode" value="ENABLE_SELECTIVE" />
Legt fest, ob alle Queries grundsätzlich gecached werden und nicht gewollte Caches manuell deaktiviert werden müssen. Mögliche Werte:
- value="ENABLE_SELECTIVE" → Caching für beide Queries im Entity aus, Cache muss bei jedem Queries manuell aktiviert werden
- value="DISABLE_SELECTIVE" → Caching für beide Queries im Entity an, Cache muss bei jedem Queries manuell deaktiviert werden
- value="ALL" → Caching ist für die beiden Default Queries der Entities unveränderbar angeschalten
- value="NONE" → Caching ist für die beiden Default Queries der Entities unveränderbar ausgeschalten