Junior — Middle
Ilovada birinchi darajali keshdan ob'ektni saqlash va olish qanday amalga oshiriladi?
sobes.tech AI
AIdan javob
Java'da, masalan Hibernate ishlatilganda, birinchi darajali kesh sessiya (Session) bo'lib, u bir tranzaksiya doirasida yuklangan obyektlarni saqlaydi. Birinchi darajali keshga obyektni saqlash, sessiya orqali obyektni saqlash yoki yuklash metodlarini chaqirish bilan avtomatik ravishda amalga oshadi.
Birinchi darajali keshdan obyektni olish, ayni sessiya ichida shuningdek, bir xil identifikator bilan obyektni takroriy so'rov qilishda yuzaga keladi: Hibernate ma'lumotlar bazasiga murojaat qilmay, obyektni keshdan qaytaradi.
Misol:
Session session = sessionFactory.openSession();
session.beginTransaction();
// Obyekt yuklanadi, u birinchi darajali keshga kiradi
User user = session.get(User.class, userId);
// Yana get chaqiruvi bilan, ayni userId bilan, obyekt keshdan olinadi, ma'lumotlar bazasiga so'rov yuborilmaydi
User sameUser = session.get(User.class, userId);
session.getTransaction().commit();
session.close();
Shu tarzda, birinchi darajali kesh sessiyaga bog'langan bo'lib, yuklangan obyektlarni takroriy foydalanish orqali qo'shimcha so'rovlar qilmasdan optimallashtirishni ta'minlaydi.