Sobes.tech
Middle

Jaké druhy vazeb existují v Hibernate?

sobes.tech AI

Odpověď od AI

Hibernate definuje následující typy vztahů mezi entitami:

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

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