Middle
Milyen típusú kapcsolatok léteznek a Hibernate-ben?
sobes.tech MI
Válasz az MI-től
A Hibernate az alábbi típusú kapcsolatokat határozza meg az entitások között:
-
Egyszerű kapcsolat (Basic Association): Egy-egy kapcsolat, ahol egy entitás közvetlen hivatkozást tartalmaz egy másikra (külső táblák használata nélkül).
-
"Egy-hoz-Sok" kapcsolatok (One-to-Many):
- Egy entitás sok más entitással lehet összekapcsolva.
- Általában egy külső kulcs segítségével valósul meg a "sok" táblában.
-
"Sok-hoz-Egy" kapcsolatok (Many-to-One):
- Sok entitás kapcsolódik egy másik entitáshoz.
- Ez az "Egy-hoz-Sok" kapcsolat ellentéte.
- Külső kulcs segítségével valósul meg a "sok" táblában.
-
"Egy-hoz-Egy" kapcsolatok (One-to-One):
- Minden típusú entitás legfeljebb egy másik típusú entitással van összekapcsolva.
- Ez vagy közös elsődleges kulccsal, vagy külső kulccsal valósítható meg az egyik táblában.
-
"Sok-hoz-Sok" kapcsolatok (Many-to-Many):
- Sok entitás van összekapcsolva sok más entitással.
- Ehhez külön közbenső táblára van szükség a kapcsolatok tárolásához.
A Hibernate annotációkat biztosít ezeknek a kapcsolatoknak a leírására:
@OneToOne@OneToMany@ManyToOne@ManyToMany
Ezenkívül lehetőség van kaszkád műveletek (cascading) konfigurálására is, amelyek automatikusan terjesztik a műveleteket az entitás felett (például mentés, törlés) a kapcsolódó entitásokra.