Middle
Ποιοι τύποι σύνδεσης υπάρχουν στο Hibernate;
sobes.tech AI
Απάντηση από AI
Το Hibernate ορίζει τους ακόλουθους τύπους σχέσεων μεταξύ οντοτήτων:
-
Βασική σύνδεση (Basic Association): Σχέση ένα-προς-ένα, όπου μια οντότητα περιέχει μια άμεση αναφορά σε άλλη (χωρίς τη χρήση εξωτερικών πινάκων για τη σχέση).
-
Συσχετίσεις "Ένα προς Πολλά" (One-to-Many):
- Μία οντότητα μπορεί να συσχετιστεί με πολλές άλλες οντότητες.
- Συνήθως υλοποιείται με τη χρήση εξωτερικού κλειδιού στον πίνακα "πολλών".
-
Συσχετίσεις "Πολλά προς Ένα" (Many-to-One):
- Πολλές οντότητες συσχετίζονται με μία άλλη οντότητα.
- Είναι η αντίθετη πλευρά της σχέσης "Ένα προς Πολλά".
- Υλοποιείται μέσω εξωτερικού κλειδιού στον πίνακα "πολλών".
-
Συσχετίσεις "Ένα προς Ένα" (One-to-One):
- Κάθε οντότητα ενός τύπου συσχετίζεται το πολύ με μία άλλη οντότητα διαφορετικού τύπου.
- Υλοποιείται είτε μέσω κοινής πρωτεύουσας κλειδιού είτε μέσω εξωτερικού κλειδιού σε έναν από τους πίνακες.
-
Συσχετίσεις "Πολλά προς Πολλά" (Many-to-Many):
- Πολλές οντότητες ενός τύπου συσχετίζονται με πολλές οντότητες άλλου τύπου.
- Απαιτείται ένας ενδιάμεσος πίνακας για την αποθήκευση των σχέσεων.
Το Hibernate παρέχει annotations για την περιγραφή αυτών των σχέσεων:
@OneToOne@OneToMany@ManyToOne@ManyToMany
Επίσης, είναι δυνατή η ρύθμιση λειτουργιών cascading για την αυτόματη διάδοση των λειτουργιών στην οντότητα (π.χ., αποθήκευση, διαγραφή) στις σχετιζόμενες οντότητες.