Sobes.tech
Junior — Middle

Wie erfolgt das Speichern und Abrufen eines Objekts aus dem First-Level-Cache in der Anwendung?

sobes.tech KI

Antwort von AI

In Java, zum Beispiel bei der Verwendung von Hibernate, ist der First-Level-Cache die Sitzung (Session), die Objekte speichert, die im Rahmen einer Transaktion geladen wurden. Das Speichern eines Objekts im First-Level-Cache erfolgt automatisch beim Aufruf von Methoden zum Speichern oder Laden eines Objekts über die Sitzung.

Das Abrufen eines Objekts aus dem First-Level-Cache erfolgt bei wiederholter Anfrage desselben Objekts mit derselben ID innerhalb einer Sitzung: Hibernate greift nicht auf die Datenbank zu, sondern gibt das Objekt aus dem Cache zurück.

Beispiel:

Session session = sessionFactory.openSession();
session.beginTransaction();

// Laden eines Objekts, es gelangt in den First-Level-Cache
User user = session.get(User.class, userId);

// Bei erneutem Aufruf von get mit demselben userId wird das Objekt aus dem Cache genommen, keine Datenbankanfrage wird ausgeführt
User sameUser = session.get(User.class, userId);

session.getTransaction().commit();
session.close();

Auf diese Weise ist der First-Level-Cache an die Sitzung gebunden und sorgt für Optimierung durch die wiederholte Nutzung geladener Objekte ohne zusätzliche Datenbankabfragen.