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 методдору объекттин абалын жана алардын маалыматтар базасы менен синхрондоштуруу мүмкүнчүлүгүн камсыздайт.