Sobes.tech
Junior — Middle

Hoe wordt het opslaan en ophalen van een object uit de eerste niveau cache in de applicatie uitgevoerd?

sobes.tech AI

Antwoord van AI

In Java, bijvoorbeeld bij het gebruik van Hibernate, is de eerste niveau cache de sessie (Session), die objecten opslaat die binnen één transactie zijn geladen. Het opslaan van een object in de eerste niveau cache gebeurt automatisch bij het aanroepen van methoden voor het opslaan of laden van een object via de sessie.

Het ophalen van een object uit de eerste niveau cache gebeurt bij herhaalde verzoeken van hetzelfde object met dezelfde identifier binnen één sessie: Hibernate raadpleegt de database niet, maar retourneert het object uit de cache.

Voorbeeld:

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

// Object wordt geladen, het komt in de eerste niveau cache
User user = session.get(User.class, userId);

// Bij een volgende get-aanroep met dezelfde userId wordt het object uit de cache gehaald, geen databasequery wordt uitgevoerd
User sameUser = session.get(User.class, userId);

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

Op deze manier is de eerste niveau cache gekoppeld aan de sessie en zorgt voor optimalisatie door hergebruik van geladen objecten zonder extra databaseverzoeken.