Sobes.tech
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();

Այսպիսով, առաջին մակարդակի կեշը կապված է սեսիայի հետ և ապահովում է օբյեկտների կրկնակի օգտագործում՝ առանց լրացուցիչ հարցումների տվյալների բազային։