Sobes.tech
Middle

Hibernate'da qanday turdagi bog'lanishlar mavjud?

sobes.tech AI

AIdan javob

Hibernate quyidagi turdagi bog‘lanishlarni belgilaydi:

  1. 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).

  2. "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.
  3. "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.
  4. "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.
  5. "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.