Sobes.tech
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 әдістері объектілердің жағдайын бақылауға және олардың дерекқормен синхрондалуын басқаруға мүмкіндік береді.