Διαφορά μεταξύ JDBC και Hibernate Διαφορά μεταξύ
JDBC vs. Hibernate
Η Συνδεσιμότητα Βάσης Δεδομένων Java (επίσης γνωστή ως JDBC) είναι ένα API ειδικά κατασκευασμένο για τη γλώσσα προγραμματισμού Java. Ορίζει τον τρόπο με τον οποίο ένας υπολογιστής-πελάτης μπορεί να αποκτήσει πρόσβαση σε μια βάση δεδομένων παρέχοντας μεθόδους για την αναζήτηση και την ενημέρωση δεδομένων σε μια βάση δεδομένων. Είναι προσανατολισμένη πιο συγκεκριμένα σε σχεσιακές βάσεις δεδομένων. Εισήχθη για πρώτη φορά στην αγορά ως τμήμα της πλατφόρμας Java 2, Standard Edition, έκδοση 1. 1 (ή J2SE). Συνοδεύτηκε μαζί με μια εφαρμογή αναφοράς JDBC στη γέφυρα ODBC, επιτρέποντας συνδέσεις με το API σε οποιαδήποτε προσιτή προέλευση δεδομένων ODBC στο περιβάλλον υποδοχής JVM.
Η Hibernate είναι μια βιβλιοθήκη χαρτογράφησης αντικειμένων (ή βιβλιοθήκη ORM) ειδικά κατασκευασμένη για τη γλώσσα Java. Παρέχει ένα πλαίσιο για τη χαρτογράφηση ενός μοντέλου τομέα προσανατολισμένου τομέα σε μια παραδοσιακή σχεσιακή βάση δεδομένων. Επιλύει επίσης προβλήματα αναντιστοιχίας σχεσιακής σύνθετης αντίστασης - δηλαδή, προβλήματα στα οποία ένα σύστημα διαχείρισης σχεσιακής βάσης δεδομένων (ή RDBMS) χρησιμοποιείται από ένα πρόγραμμα γραμμένο σε γλώσσα προγραμματισμού ή στυλ σχεδίασης αντικειμένων. Αυτό επιτυγχάνεται με την αντικατάσταση των άμεσων προσβάσεων που σχετίζονται με βάση την εμμονή με τις λειτουργίες χειρισμού υψηλού επιπέδου. Πρόκειται για δωρεάν λογισμικό ανοιχτού κώδικα και διανέμεται υπό την άδεια GNU Lesser General Public License.
Το JDBC λειτουργεί επιτρέποντας την ύπαρξη και χρήση διαφόρων εφαρμογών από την ίδια εφαρμογή. Παρέχει ένα μηχανισμό με τον οποίο τα σωστά πακέτα Java φορτώνονται δυναμικά και καταχωρούνται με το πρόγραμμα οδήγησης JDBC Driver - το οποίο χρησιμοποιείται ως εργοστάσιο σύνδεσης, των ειδών που δημιουργεί συνδέσεις JDBC. Αυτές οι συνδέσεις υποστηρίζουν τη δημιουργία και εκτέλεση δηλώσεων. Μπορεί να είναι αναφορές ενημέρωσης (για παράδειγμα, τα SQL CREATE, REPLACE, UPDATE και DELETE). Μπορούν επίσης να είναι δηλώσεις ερωτήματος όπως SELECT. Μια σύνδεση JDBC μπορεί επίσης να χρησιμοποιήσει τις αποθηκευμένες διαδικασίες -δηλαδή τις διαδικασίες που αποθηκεύονται στο λεξικό δεδομένων της βάσης δεδομένων.
Η λειτουργία αδρανοποίησης εξαρτάται κυρίως από τη χαρτογράφηση κατηγοριών Java σε πίνακες βάσεων δεδομένων καθώς και από τύπους δεδομένων Java σε τύπους δεδομένων SQL. Παρέχει επίσης δυνατότητα αναζήτησης και ανάκτησης δεδομένων. Είναι σε θέση να παράγει κλήσεις SQL, ανακουφίζοντας έτσι τον προγραμματιστή από τον χειρισμό των αποτελεσμάτων και τη μετατροπή αντικειμένων. Αυτό κρατά την εφαρμογή φορητή σε όλες τις βάσεις δεδομένων SQL που υποστηρίζονται μέσω της βιβλιοθήκης. Χαρτογράφει τάξεις Java στους πίνακες βάσης δεδομένων, διαμορφώνοντας ένα αρχείο XML (στο οποίο η λειτουργία Hibernate μπορεί να δημιουργήσει τον πηγαίο κώδικα σκελετού για τις τάξεις persistence) ή χρησιμοποιώντας το σχολιασμό Java (το οποίο κάνει την προηγούμενη συζήτηση δράσης). Η λειτουργία αδρανοποίησης υποστηρίζει επίσης τη χαρτογράφηση τύπων προσαρμοσμένης τιμής, γεγονός που καθιστά δυνατή τρία συγκεκριμένα σενάρια: παρακάμπτοντας τον προεπιλεγμένο τύπο SQL που επιλέχθηκε από την αδρανοποίηση κατά τη χαρτογράφηση μιας στήλης σε μια ιδιότητα. χαρτογράφηση του Java Enum σε στήλες σαν να ήταν κανονικές ιδιότητες. και χαρτογράφηση μιας μόνο ιδιότητας σε πολλές στήλες.
Περίληψη:
1. Το JDBC είναι ένα API που καθορίζει τον τρόπο με τον οποίο ένας υπολογιστής-πελάτης μπορεί να έχει πρόσβαση σε μια βάση δεδομένων. Η Hibernate είναι μια βιβλιοθήκη ORM που παρέχει ένα πλαίσιο για τη χαρτογράφηση ενός μοντέλου τομέα με προσανατολισμό αντικειμένου σε μια παραδοσιακή σχεσιακή βάση δεδομένων.
2. Το JDBC επιτρέπει να υπάρχουν διάφορες εφαρμογές και να χρησιμοποιούνται από την ίδια εφαρμογή. Hibernate χάρτες από τάξεις Java σε πίνακες βάσης δεδομένων.