Der Second Level Cache lässt sich ganz allgemein über die beiden Dateien "Persistence.xml" und der "ehcache.xml" konfigurieren
Persistence.xml
Konfigurationsdatei festlegen
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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"
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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