Middle
Aké druhy väzieb existujú v Hibernate?
sobes.tech AI
Odpoveď od AI
Hibernate definuje nasledujúce typy vzťahov medzi entitami:
-
Základná asociácia (Basic Association): Vzťah jeden ku jednému, kde jedna entita obsahuje priame odkazovanie na inú (bez použitia externých tabuliek pre vzťah).
-
Vzťahy "Jeden ku Mnohým" (One-to-Many):
- Jedna entita môže byť spojená s mnohými inými entitami.
- Zvyčajne sa implementuje pomocou cudzieho kľúča v tabuľke "mnohých".
-
Vzťahy "Mnoho ku JEDNÉMU" (Many-to-One):
- Mnoho entít je spojených s jednou inou entitou.
- Ide o opak vzťahu "Jeden ku Mnohým".
- Implementuje sa pomocou cudzieho kľúča v tabuľke "mnohých".
-
Vzťahy "Jeden ku JEDNÉMU" (One-to-One):
- Každá entita jedného typu je spojená maximálne s jednou entitou iného typu.
- Implementuje sa buď pomocou spoločného primárneho kľúča, alebo pomocou cudzieho kľúča v jednej z tabuliek.
-
Vzťahy "Mnoho ku MNOHÝM" (Many-to-Many):
- Mnoho entít jedného typu je spojených s mnohými entitami iného typu.
- Vyžaduje samostatnú spojovaciu tabuľku na uloženie vzťahov.
Hibernate poskytuje anotácie na popis týchto vzťahov:
@OneToOne@OneToMany@ManyToOne@ManyToMany
Tiež je možné nakonfigurovať operácie kaskádovania (cascading) pre automatické šírenie operácií nad entitou (napríklad uloženie, vymazanie) na prepojené entity.