Sobes.tech
Middle

Ποιοι τύποι σύνδεσης υπάρχουν στο Hibernate;

sobes.tech AI

Απάντηση από AI

Το Hibernate ορίζει τους ακόλουθους τύπους σχέσεων μεταξύ οντοτήτων:

  1. Βασική σύνδεση (Basic Association): Σχέση ένα-προς-ένα, όπου μια οντότητα περιέχει μια άμεση αναφορά σε άλλη (χωρίς τη χρήση εξωτερικών πινάκων για τη σχέση).

  2. Συσχετίσεις "Ένα προς Πολλά" (One-to-Many):

    • Μία οντότητα μπορεί να συσχετιστεί με πολλές άλλες οντότητες.
    • Συνήθως υλοποιείται με τη χρήση εξωτερικού κλειδιού στον πίνακα "πολλών".
  3. Συσχετίσεις "Πολλά προς Ένα" (Many-to-One):

    • Πολλές οντότητες συσχετίζονται με μία άλλη οντότητα.
    • Είναι η αντίθετη πλευρά της σχέσης "Ένα προς Πολλά".
    • Υλοποιείται μέσω εξωτερικού κλειδιού στον πίνακα "πολλών".
  4. Συσχετίσεις "Ένα προς Ένα" (One-to-One):

    • Κάθε οντότητα ενός τύπου συσχετίζεται το πολύ με μία άλλη οντότητα διαφορετικού τύπου.
    • Υλοποιείται είτε μέσω κοινής πρωτεύουσας κλειδιού είτε μέσω εξωτερικού κλειδιού σε έναν από τους πίνακες.
  5. Συσχετίσεις "Πολλά προς Πολλά" (Many-to-Many):

    • Πολλές οντότητες ενός τύπου συσχετίζονται με πολλές οντότητες άλλου τύπου.
    • Απαιτείται ένας ενδιάμεσος πίνακας για την αποθήκευση των σχέσεων.

Το Hibernate παρέχει annotations για την περιγραφή αυτών των σχέσεων:

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

Επίσης, είναι δυνατή η ρύθμιση λειτουργιών cascading για την αυτόματη διάδοση των λειτουργιών στην οντότητα (π.χ., αποθήκευση, διαγραφή) στις σχετιζόμενες οντότητες.