Cache aktivieren für Entities

Die Entscheidung ob ein Entity gecached werden soll oder nicht lässt sich direkt im Entity bei den Settings → Cacheable einstellen. Wählen Sie dazu einfach "true" oder "false".

Entity Cache Strategie wählen

In bestimmten Fällen kann es notwendig sein, die Strategie des Cachings zu beeinflussen. Dies ist per Annotation im Code-Editor möglich.

  1. Umschalten in den Code Bereich indem Sie auf "{}Java" drücken
  2. Fügen Sie eine leere Zeile nach der letzten Annotation ein
  3. Nutzen Sie nun das Code-Template "Entity Cache Strategy" aus der Palette um die gewünschte Code-Zeile einzufügen
  4. Wählen Sie nun nur noch die gewünschte Strategie über das ENUM am Ende des Statements

Cache Strategien

NameFunktionDefault
NONSTRICT_READ_WRITE

Der Cache wird aktualisiert nachdem eine Transaktion einen betroffenen Datensatz geändert hat. Eine starke Konsistenz ist in dieser Strategie nicht gewährleistet, da sich ein kleines Zeitfenster ergibt bis die Daten aktualisiert wurden. Diese Art von Strategie eignet sich für Anwendungsfälle, die eine mögliche Konsistenz tolerieren können.

NEIN
READ_ONLYWird nur für Entities verwendet welche NIEMALS geändert werden. Eignet sich also hervorragend für statische Referenzwerte in der DatenbankNEIN
READ_WRITEDiese Strategie garantiert eine starke Konsistenz, die durch Verwendung von "weichen" Sperren erzielt wird: Wenn eine zwischengespeicherte Entität aktualisiert wird, wird auch eine weiche Sperre im Cache für diese Entität gespeichert, die freigegeben wird, nachdem die Transaktion festgeschrieben wurde. Alle gleichzeitigen Transaktionen, die auf Soft-Locked-Einträge zugreifen, holen die entsprechenden Daten direkt aus der DatenbankJA
TRANSACTIONALCache-Änderungen werden in verteilten XA-Transaktionen vorgenommen. Eine Änderung in einer zwischengespeicherten Entität wird in derselben XA-Transaktion entweder in der Datenbank oder im Cache festgeschrieben oder zurückgesetztNEIN