Junior — Middle
Hibernate-да объектілердің өмірлік циклін басқару үшін қандай әдістерді қолданасыз?
sobes.tech AI
AI-дан жауап
Hibernate-де объектілердің өмірлік циклін басқару әртүрлі әдістер мен объектілердің жағдайлары арқылы жүзеге асырылады:
- save() / persist() — жаңа объектіні дерекқорға сақтайды, оны «басқарылатын» (persistent) күйге ауыстырады.
- update() / merge() — бар объектіні жаңартады немесе ажыратылған объектінің жағдайын ағымдағы контекстпен біріктіреді.
- delete() — объектіні дерекқордан жояды.
- evict() — объектіні сессиядан шығарады, оны «ажыратылған» (detached) күйге ауыстырады.
- refresh() — объектінің жағдайын дерекқордан жаңартады.
Hibernate-дегі объектінің өмірлік циклі келесі жағдайларды қамтиды: transient (уақытша, сессияға байланысты емес), persistent (сессиямен басқарылатын), detached (сессиядан ажыратылған).
Мысал:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
// Объектіні құру және сақтау
User user = new User();
user.setName("John");
session.save(user); // объект persistent күйге өтеді
// Объектіні жаңарту
user.setName("John Doe");
session.update(user);
// Объектіні жою
session.delete(user);
tx.commit();
session.close();
Осылайша, Hibernate әдістері объектілердің жағдайын бақылауға және олардың дерекқормен синхрондалуын басқаруға мүмкіндік береді.