2016-07-27 43 views
1

Ich bin wirklich hier fest und konnte nicht die entsprechenden Informationen im gesamten Web finden.Was bedeutet das Regionsattribut innerhalb eines Cache-Elements in einem Hibernate hbm XML?

Was bedeutet das region Attribut in <cache /> Element in einem Hibernate hbm xml tun?

ich eine ausführliche Erklärung in der Antwort auseinander erwarte bilden die offiziellen jboss documentation über Cache-Element in einer Hibernate hbm xml in

insbesondere Fragen, wenn setCacheble(true) auf den Abfragen/Kriterien einstellen. Die Cache-Region ist standardmäßig ausgewählt; die StandardQueryCache Region oder der in der

Dank Datei Einheit hbm.xml angegeben.

Antwort

1

Attribut "region" im Cache-Element in einem Hibernate hbm xml wird verwendet, um den Namen Ihres Cache anzugeben. Wann immer Sie setCachle (true) verwenden, wird eine Abfrage nur in dieser Cache-Region eingefügt oder durchsucht.

Region Name viele Plätze zum Beispiel verwendet, um alle Cache aus einer bestimmten Region zu löschen, Trefferanzahl zu überprüfen, zählen Fehl usw.

Beispiel Cache löschen:

sessionFactory.evictQueries("cacheReginName"); 

können wir haben mehrere Cache-Bereich über eine Tabelle.

Criteria cri = session.createCriteria(tableName.class); 
       cri.setCacheRegion("cacheReginName"); 

oder

Query qry = session.createQuery("select name from tableName where Id=1"); 
qry.setCacheRegion("cacheReginName"); 

Wann immer wir über Code verwenden als nur bestimmter Cache-Bereich gesucht wird oder wenn Abfrage nicht gefunden dann eine neue Abfrage in diesem Bereich eingesetzt.

Wenn beim Abrufen der Daten keine Cache-Region festgelegt wird, wird die in hbm.xml erwähnte Cache-Region verwendet.

Wenn in hbm.xml keine Cache-Region erwähnt wird, ist der Name des Standard-Cache-Bereichs das Namensattribut der Klasse.

Die Verwendung der multiplen Cache-Region kann entsprechend Ihrer Anforderung sein.