6 Stimmen

Hibernate-Cache einer bestimmten Domänenklasse löschen

Stellen Sie sich vor, ich habe folgende Klasse:

class Test {
   String name    
   static mapping = {
      cache true
      version false
}

Das Ziel wäre, Zeilen mit nativem SQL auf Datenbankebene einzufügen, so dass Hibernate diese Änderungen nicht erkennt. Wie kann ich Hibnerate über diese neuen Zeilen informieren?

Gibt es so etwas wie -> Test.clearCache?

8voto

Gil Punkte 630

Diese Antwort ist ein wenig alt... die evict-Methode ist veraltet... Sie können verwenden

sessionFactory.cache.evictEntityRegion(Class.name)

das hat bei mir funktioniert... googeln Sie einfach die Klasse und Sie werden alle Methoden finden...

6voto

Victor Sergienko Punkte 12396

Das ist zwar eine veraltete Methode, aber sie ist kürzer und funktioniert immer noch.

def sessionFactory // inject Hibernate sessionFactory
sessionFactory.evict(clazz, id)
// or evict all class instances:
sessionFactory.evict(clazz)

Die Dokumentation ist aquí siehe es für den aktuellen Weg mit Cache .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X