Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ Hibernate-ში ობიექტების შექმნიდან ამოღებამდე გადამავალი ეტაპების სერია?

sobes.tech AI

პასუხი AI-სგან

Hibernate-এ, অবজেক্টগুলি তাদের জীবনচক্রে বেশ কয়েকটি অবস্থার মধ্য দিয়ে যায়:

  1. Transient (অস্থায়ী) — অবজেক্টটি স্মৃতিতে তৈরি হয়, কিন্তু Hibernate সেশন এর সাথে সংযুক্ত নয় এবং ডাটাবেসে সংরক্ষিত নয়।
  2. Persistent (স্থায়ী) — অবজেক্টটি Hibernate সেশনের সাথে সংযুক্ত এবং মনিটর করা হয়। অবজেক্টে পরিবর্তনগুলি কমিটের সময় ডাটাবেসের সাথে সিঙ্ক্রোনাইজ করা হবে।
  3. Detached (বিচ্ছিন্ন) — অবজেক্টটি আগে সেশনের সাথে সংযুক্ত ছিল, কিন্তু সেশন বন্ধ হয়ে গেছে বা অবজেক্টটি বিচ্ছিন্ন হয়েছে। পরিবর্তনগুলি মনিটর করা হয় না।
  4. Removed (অপসারিত) — অবজেক্টটি ডাটাবেস থেকে মুছে ফেলার জন্য চিহ্নিত করা হয়েছে।

উদাহরণস্বরূপ, ক্রম:

  • অবজেক্ট তৈরি (Transient)
  • session.save(obj) কল করুন — অবজেক্টটি Persistent হয়ে যায়
  • অবজেক্টের সাথে কাজ করুন, পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে সংরক্ষিত হয়
  • সেশন বন্ধ করুন — অবজেক্টটি Detached হয়ে যায়
  • প্রয়োজনে, অবজেক্টটিকে আবার সেশনের সাথে সংযুক্ত করতে পারেন session.update(obj) এর মাধ্যমে
  • মুছে ফেলতে, session.delete(obj) কল করুন — অবজেক্টটি Removed হয়ে যায়

অতএব, Hibernate অবজেক্টের অবস্থা পরিচালনা করে ডাটাবেসের সাথে সিঙ্ক্রোনাইজেশনের জন্য।