Middle
Hibernate'da qanday turdagi bog'lanishlar mavjud?
sobes.tech AI
AIdan javob
Hibernate quyidagi turdagi bog‘lanishlarni belgilaydi:
-
Oddiy bog‘lanish (Basic Association): Bir-biriga bog‘langan, bunda bir mavjudot boshqa mavjudotga to‘g‘ridan-to‘g‘ri murojaat qiladi (tashqi jadval ishlatilmaydi).
-
"Bir-ning-Mehr" (One-to-Many):
- Bir mavjudot ko‘p boshqa mavjudotlar bilan bog‘lanishi mumkin.
- Odatda, "ko‘p" jadvalida tashqi kalit yordamida amalga oshiriladi.
-
"Mehr-ning-Bir" (Many-to-One):
- Ko‘p mavjudotlar bitta boshqa mavjudot bilan bog‘lanadi.
- Bu "Bir-ning-Mehr" bog‘lanishining teskari tomonidir.
- Tashqi kalit yordamida amalga oshiriladi.
-
"Bir-ning-Bir" (One-to-One):
- Har bir turdagi mavjudot maksimal bitta boshqa turdagi mavjudot bilan bog‘lanadi.
- Birgalikda umumiy asosiy kalit yoki bir jadvalda tashqi kalit yordamida amalga oshiriladi.
-
"Mehr-ning-Mehr" (Many-to-Many):
- Bir turdagi ko‘p mavjudotlar boshqa turdagi ko‘p mavjudotlar bilan bog‘lanadi.
- Bu bog‘lanishlarni saqlash uchun alohida o‘rta jadval talab qilinadi.
Hibernate bu bog‘lanishlarni tavsiflash uchun anotatsiyalarni taqdim etadi:
@OneToOne@OneToMany@ManyToOne@ManyToMany
Shuningdek, bog‘lanishlar uchun avtomatik operatsiyalarni (cascade) sozlash mumkin, bu operatsiyalarni (masalan, saqlash, o‘chirish) bog‘langan mavjudotlarga ham tarqatadi.