Junior — Middle
Ինչպե՞ս է կատարվում առաջին մակարդակի կեշից օբյեկտի պահպանումը և դուրսբերումը հավելվածում։
sobes.tech AI
Պատասխան AI-ից
Java-յում, օրինակ Hibernate օգտագործելիս, առաջին մակարդակի կեշը սեսիան է (Session), որը պահպանում է այն օբյեկտները, որոնք բեռնվել են մեկ գործարքի շրջանակում: Առաջին մակարդակի կեշում օբյեկտի պահպանումը ավտոմատ կերպով տեղի է ունենում, երբ սեսիայի միջոցով օբյեկտի պահպանման կամ բեռնելու մեթոդները կանչվում են:
Առաջին մակարդակի կեշից օբյեկտը ստանալու գործընթացը տեղի է ունենում, երբ նույն սեսիայի շրջանակում նույն նույնականացուցիչով կրկնակի հարցում է կատարվում նույն օբյեկտի համար. Hibernate-ը չի դիմում տվյալների բազային, այլ վերադարձնում է օբյեկտը կեշից:
Օրինակ՝
Session session = sessionFactory.openSession();
session.beginTransaction();
// Օբյեկտի բեռնում, այն մտնում է առաջին մակարդակի կեշ
User user = session.get(User.class, userId);
// Երբ կրկնակի կանչում է get՝ նույն userId-ով, օբյեկտը վերցվում է կեշից, առանց տվյալների բազային հարցնելու
User sameUser = session.get(User.class, userId);
session.getTransaction().commit();
session.close();
Այսպիսով, առաջին մակարդակի կեշը կապված է սեսիայի հետ և ապահովում է օբյեկտների կրկնակի օգտագործում՝ առանց լրացուցիչ հարցումների տվյալների բազային։