Sobes.tech
Middle

Ce tipuri de legături există în Hibernate?

sobes.tech AI

Răspuns de la AI

Hibernate definește următoarele tipuri de relații între entități:

  1. Asocierea de bază (Basic Association): Relație unu-la-unu, în care o entitate conține o referință directă către alta (fără utilizarea tabelelor externe pentru relație).

  2. Asocieri "Unu-la-Mulți" (One-to-Many):

    • O entitate poate fi asociată cu multe alte entități.
    • De obicei, se implementează folosind o cheie externă în tabelul "mulți".
  3. Asocieri "Mulți-la-Unu" (Many-to-One):

    • Multe entități sunt asociate cu o singură altă entitate.
    • Este partea opusă a relației "Unu-la-Mulți".
    • Se implementează printr-o cheie externă în tabelul "mulți".
  4. Asocieri "Unu-la-Unu" (One-to-One):

    • Fiecare entitate de un tip este asociată, cel mult, cu o altă entitate de alt tip.
    • Se implementează fie printr-o cheie primară comună, fie printr-o cheie externă într-una dintre tabele.
  5. Asocieri "Mulți-la-Mulți" (Many-to-Many):

    • Multe entități de un tip sunt asociate cu multe entități de alt tip.
    • Necesită un tabel intermediar pentru stocarea relațiilor.

Hibernate oferă adnotări pentru a descrie aceste relații:

  • @OneToOne
  • @OneToMany
  • @ManyToOne
  • @ManyToMany

De asemenea, este posibil să se configureze operații de cascadă (cascading) pentru propagarea automată a operațiilor asupra entității (de exemplu, salvare, ștergere) către entitățile legate.