Sobes.tech
Middle

Ի՞նչ տեսակների կապեր կան Hibernate-ում։

sobes.tech AI

Պատասխան AI-ից

Hibernate-ը սահմանում է հետևյալ տեսակի հարաբերություններ՝

  1. Հիմնական կապ (Basic Association): Մի-կա-մեկ հարաբերություն, որտեղ մի գոյություն պարունակում է ուղղակի հղում մյուսին (առանց արտաքին աղյուսակների օգտագործման):

  2. "Մի-կա-Մեծամասնություն" (One-to-Many):

    • Մի գոյություն կարող է կապված լինել շատ այլ գոյությունների հետ:
    • Հաճախ իրականացնում է արտաքին բանալի օգտագործելով "մեծ" աղյուսակում:
  3. "Մեծամասնություն-կա-Մի" (Many-to-One):

    • Շատ գոյություններ կապված են մեկ այլ գոյության հետ:
    • Սա հակառակ կողմն է "Մի-կա-Մեծամասնություն" հարաբերության:
    • Իրականացնում է արտաքին բանալի միջոցով:
  4. "Մի-կա-Մի" (One-to-One):

    • Յուրաքանչյուր տիպի գոյություն առավելագույնը մեկ այլ տիպի գոյության հետ է կապված:
    • Իրականացնում է կամ ընդհանուր հիմնական բանալիով, կամ արտաքին բանալիով մեկ աղյուսակում:
  5. "Մեծամասնություն-կա-Մեծամասնություն" (Many-to-Many):

    • Շատ տիպի գոյություններ կապված են շատ այլ տիպի գոյությունների հետ:
    • Պահանջվում է առանձին միջնորդ աղյուսակ՝ հարաբերությունները պահելու համար:

Hibernate-ն ապահովում է նշումներ՝ այս հարաբերությունները նկարագրելու համար:

  • @OneToOne
  • @OneToMany
  • @ManyToOne
  • @ManyToMany

Նույնպես հնարավոր է կարգավորել կասկադային գործողություններ (cascading)՝ ավտոմատ տարածելու գործողությունները գոյության վրա (օրինակ՝ պահպանել, հեռացնել)՝ կապված գոյությունների վրա։