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.