Middle
Ի՞նչ տեսակների կապեր կան Hibernate-ում։
sobes.tech AI
Պատասխան AI-ից
Hibernate-ը սահմանում է հետևյալ տեսակի հարաբերություններ՝
-
Հիմնական կապ (Basic Association): Մի-կա-մեկ հարաբերություն, որտեղ մի գոյություն պարունակում է ուղղակի հղում մյուսին (առանց արտաքին աղյուսակների օգտագործման):
-
"Մի-կա-Մեծամասնություն" (One-to-Many):
- Մի գոյություն կարող է կապված լինել շատ այլ գոյությունների հետ:
- Հաճախ իրականացնում է արտաքին բանալի օգտագործելով "մեծ" աղյուսակում:
-
"Մեծամասնություն-կա-Մի" (Many-to-One):
- Շատ գոյություններ կապված են մեկ այլ գոյության հետ:
- Սա հակառակ կողմն է "Մի-կա-Մեծամասնություն" հարաբերության:
- Իրականացնում է արտաքին բանալի միջոցով:
-
"Մի-կա-Մի" (One-to-One):
- Յուրաքանչյուր տիպի գոյություն առավելագույնը մեկ այլ տիպի գոյության հետ է կապված:
- Իրականացնում է կամ ընդհանուր հիմնական բանալիով, կամ արտաքին բանալիով մեկ աղյուսակում:
-
"Մեծամասնություն-կա-Մեծամասնություն" (Many-to-Many):
- Շատ տիպի գոյություններ կապված են շատ այլ տիպի գոյությունների հետ:
- Պահանջվում է առանձին միջնորդ աղյուսակ՝ հարաբերությունները պահելու համար:
Hibernate-ն ապահովում է նշումներ՝ այս հարաբերությունները նկարագրելու համար:
@OneToOne@OneToMany@ManyToOne@ManyToMany
Նույնպես հնարավոր է կարգավորել կասկադային գործողություններ (cascading)՝ ավտոմատ տարածելու գործողությունները գոյության վրա (օրինակ՝ պահպանել, հեռացնել)՝ կապված գոյությունների վրա։