Erzwinge, dass Hibernate die Datenbank liest und die zwischengespeicherte Entität nicht zurückgibt

9

Ich verwende Hibernate und Spring für meine Webanwendung.

Im Datenbankbetrieb speichert Hibernate Entitäten und gibt sie in der nächsten Anfrage zurück, ohne die eigentliche Datenbank zu lesen. Ich weiß, dass dies die Belastung der Datenbank reduzieren und die Leistung verbessern wird.

Aber während diese App noch im Aufbau ist, muss ich bei jeder Anfrage Daten aus der Datenbank laden (Testgrund).

Gibt es eine Möglichkeit, das Lesen der Datenbank zu erzwingen?

Ich wurde mir über das Zwischenspeichern aus dieser log4j-Nachricht sicher.

%Vor%     
Saif 12.01.2015, 15:13
quelle

3 Antworten

8

session.refresh(entity) oder entityManager.refresh(entity) (wenn Sie JPA verwenden) gibt Ihnen neue Daten von DB.

    
Predrag Maric 12.01.2015, 15:16
quelle
3

Führen Sie das Lesen innerhalb einer neuen Transaktion durch.

Zum Beispiel:

%Vor%     
wild_nothing 14.09.2015 16:47
quelle
0
  • Aufruf Aktualisierungseinheit session.refresh(entity)

    oder

  • Öffnen Sie eine neue Sitzung und rufen Sie session2.get(EntityClass.class,id) auf, um die Entität aus der Datenbank zu holen

    %Vor%
Hatem Badawi 27.10.2015 07:23
quelle

Tags und Links