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