2012-03-26 1 views

Antwort

0

Es hängt vom Cache-Provider ab. Sie können diese Dinge in einer separaten Konfigurationsdatei festlegen.

+0

Meinst du ich muss dies in der persistence.xml setzen? Könnten Sie bitte Ihre Antwort ein wenig ausarbeiten? – Mike

+0

Was ist Ihr Cache-Provider? – Bozho

+0

Da ich Eclipselink benutze, ist das mein Cache-Provider. Ich bin neu bei Eclipselink/JPA. Bitte hilf mir zu verstehen, wenn mir etwas fehlt. – Mike

1
@Entity 
@Cache(expiry=360000) 
public class Person { 
... 
} 

Dies wird Ablaufzeit für eine Entität festlegen. Ablaufzeit ist in Millisekunden.
Wenn Sie zum ersten Mal Daten aus der Datenbank abrufen, wird eine Abfrage ausgelöst. Diese Entitätsinstanz wird zwischengespeichert. Nach 6 Minuten wird diese Instanz jedoch ungültig, aber nicht aus dem Cache entfernt. Wenn auf es zugegriffen wird, wird es von der Datenbank aktualisiert.
Sie können dies auch überprüfen: http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Expiration.
Für tiefe Kenntnisse der Zwischenspeicherung können Sie beziehen: http://java-persistence-performance.blogspot.in/2013/01/got-cache.html