Παρακατω θα μιλήσουμε για τις δυνατοτητες του Spring Data και πως μπορουμε να τις εφαρμοσουμε σε υπαρχοντες μηχανισμους επικοινωνιας με την Βαση Δεδομενων με την χρηση του JPA programming Interface.
Λιγα λογια για το Java Persistence API.
To spring Data ειναι ενα σχετικα νεο project που στοχο εχει να απλοποιησει την διαδικασια ανταλλαγης δεδομενων με την Βαση Δεδομενων που χρησιμοποιουμε, το λεγομενο data access layer δηλαδη.
Πιο συγκεκριμενα θα δουμε στην πραξη το subproject Spring Data JPA που απλοποιει σημαντικα τις διαδικασιες ανταλλαγης δεδομενων μας στο repository layer οταν χρησιμοποιουμε JPA annotated Pojos(Plain old Java classes). Πρακτικα δηλαδη ειναι οι γνωστες java κλασεις που υλοποιουν την συμβαση που οριζει το Java Persistence API (JPA). Η συμβαση αυτη οριζει οτι πρεπει να τοποθετησουμε ορισμενα annotations τοσο στην κλαση μας οσο και στις μεταβλητες που περιλαμβανει αυτη η κλαση.
Τα annotations αυτα στην ουσια υλοποιουν το γνωστο ORM(Object Relational Mapping) ή πιο απλα την συνδεση κλασεων και tables μιας βασης δεδομενων.
Ειναι δηλαδη τα annotations αυτα καποια extra πληροφορια, συμφωνη με τον τροπο που οριζει το JPA interface , και υλοποιησιμη απο τον μηχανισμο που επεκτεινει το JPA interface και επικοινωνει πραγματικα με την Βαση Δεδομενων. To πλεον διαδεδομενο Framework που υλοποιει το JPA interface και τα JPA annotations προκειμενου να συνδεσει τις κλασεις με τα tables της Βασης Δεδομενων ειναι το Hibernate.
Πριν περασουμε στις ευκολιες που παρεχει το Spring Data JPA Και στο πως αυτο μπορει να εφαρμοστει στο project μας, Θα δουμε αρχικα ενα πραγματικο παραδειγμα επικοινωνιας με την βαση με τον «παραδοσιακο τροπο».
Continue reading “Utilizing Spring Data JPA to simplify the Data Access Infrastructure”