Middle
Jaké druhy vazeb existují v Hibernate?
sobes.tech AI
Odpověď od AI
Hibernate definuje následující typy vztahů mezi entitami:
-
Základní asociace (Basic Association): Vztah jeden-k- jednomu, kde jedna entita obsahuje přímou referenci na jinou (bez použití externích tabulek pro vztah).
-
Vztahy "Jeden-k-Mnoha" (One-to-Many):
- Jedna entita může být spojena s mnoha jinými entitami.
- Obvykle se implementuje pomocí cizího klíče v tabulce "mnoha".
-
Vztahy "Mnoho-k-Jedné" (Many-to-One):
- Mnoho entit je spojeno s jednou jinou entitou.
- Je to opak vztahu "Jeden-k-Mnoha".
- Implementuje se pomocí cizího klíče v tabulce "mnoha".
-
Vztahy "Jeden-k-Jedno" (One-to-One):
- Každá entita jednoho typu je spojena maximálně s jednou entitou jiného typu.
- Implementuje se buď pomocí sdíleného primárního klíče, nebo pomocí cizího klíče v jedné z tabulek.
-
Vztahy "Mnoho-k-Mnoha" (Many-to-Many):
- Mnoho entit jednoho typu je spojeno s mnoha entitami jiného typu.
- Vyžaduje samostatnou spojovací tabulku pro uložení vztahů.
Hibernate poskytuje anotace pro popis těchto vztahů:
@OneToOne@OneToMany@ManyToOne@ManyToMany
Také je možné nakonfigurovat kaskádové operace (cascading) pro automatické šíření operací nad entitou (například ukládání, mazání) na s ní spojené entity.