Sobes.tech
Junior — Middle

Ako sa v aplikácii vykonáva uloženie a načítanie objektu z cache prvej úrovne?

sobes.tech AI

Odpoveď od AI

V Jave, napríklad pri používaní Hibernate, je cache prvého stupňa relácie (Session), ktorá uchováva načítané objekty v rámci jednej transakcie. Uloženie objektu do cache prvého stupňa sa automaticky vykonáva pri volaní metód na uloženie alebo načítanie objektu cez reláciu.

Získanie objektu z cache prvého stupňa nastáva pri opakovanom požiadavke na ten istý objekt s rovnakým identifikátorom v rámci jednej relácie: Hibernate neosloví databázu, ale vráti objekt z cache.

Príklad:

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

// Načítanie objektu, ktorý vstupuje do cache prvého stupňa
User user = session.get(User.class, userId);

// Pri ďalšom volaní get so rovnakým userId je objekt načítaný z cache, bez dotazu na DB
User sameUser = session.get(User.class, userId);

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

Týmto spôsobom je cache prvého stupňa viazaná na reláciu a zabezpečuje optimalizáciu opakovaným použitím načítaných objektov bez ďalších dopytov na databázu.