Sobes.tech
Junior — Middle

Tətbiqdə birinci səviyyəli keşdən obyektin saxlanması və çıxarılması necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, məsələn Hibernate istifadə edərkən, birinci səviyyəli önbellek sessiyadır (Session), və bu sessiya, bir əməliyyat çərçivəsində yüklənmiş obyektləri saxlayır. Birinci səviyyəli önbelleyə obyektin saxlanması, sessiya vasitəsilə obyektin saxlanması və ya yüklənməsi metodlarının çağırılması ilə avtomatik baş verir.

Bir obyektin birinci səviyyəli önbellekdən alınması, eyni sessiya daxilində eyni identifikatorla obyektin təkrarlanması sorğusu zamanı baş verir: Hibernate verilənlər bazasına müraciət etmir, əvəzində obyekt önbellekdən qaytarılır.

Nümunə:

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

// Obyekt yüklənir, o birinci səviyyəli önbelleyə daxil olur
User user = session.get(User.class, userId);

// Eyni userId ilə yenidən get çağırışında, obyekt önbellekdən alınır, verilənlər bazasına sorğu göndərilmir
User sameUser = session.get(User.class, userId);

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

Bu şəkildə, birinci səviyyəli önbellek sessiyaya bağlıdır və yüklənmiş obyektlərin təkrar istifadəsi ilə əlavə sorğulara ehtiyac olmadan optimallaşdırma təmin edir.