Junior — Middle
Kaip vyksta pirmojo lygio talpyklos objekto išsaugojimas ir išgavimas programoje?
sobes.tech AI
Atsakymas iš AI
Java kalboje, pavyzdžiui, naudojant Hibernate, pirmojo lygio talpykla yra sesija (Session), kuri saugo įkeltus objektus per vieną transakciją. Objektų išsaugojimas pirmojo lygio talpykloje įvyksta automatiškai, kviečiant išsaugojimo ar įkėlimo metodus per sesiją.
Objekto gavimas iš pirmojo lygio talpyklos įvyksta pakartotinai užklausus tą patį objektą su tuo pačiu identifikatoriumi per tą pačią sesiją: Hibernate nepasiekia duomenų bazės, o grąžina objektą iš talpyklos.
Pavyzdys:
Session session = sessionFactory.openSession();
session.beginTransaction();
// Objektas įkeliamas, jis patenka į pirmojo lygio talpyklą
User user = session.get(User.class, userId);
// Pakartotinai iškvietus get su tuo pačiu userId, objektas paimamas iš talpyklos, be užklausos į DB
User sameUser = session.get(User.class, userId);
session.getTransaction().commit();
session.close();
Tokiu būdu, pirmojo lygio talpykla yra susieta su sesija ir užtikrina optimizaciją, pakartotinai naudojant įkelti objektus be papildomų užklausų į duomenų bazę.