Sobes.tech
Middle

Aké druhy väzieb existujú v Hibernate?

sobes.tech AI

Odpoveď od AI

Hibernate definuje nasledujúce typy vzťahov medzi entitami:

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

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