@Column(name = “id”, unique = true, nullable =
false)
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
@Column(name = “onoma”, length = 50)
public String getOnoma() {
return this.onoma;
}
public void setOnoma(String onoma) {
this.onoma = onoma;
}
}
όπου φαίνεται η χρήση των annotations, προκειμένου να
καθοριστούν στην κλάση τα χαρακτηριστικά του σχεσιακού πί-
νακα. Για παράδειγμα, το ότι αυτή η κλάση αναφέρεται σε
έναν πίνακα, ορίζεται από το annotation @Entity και
@Table(name = “nomos”). Το Primary Key του πίνακα ορίζε-
ται με το annotation @Id και @Column(name = “id”, unique
= true, nullable = false).
Με αυτόν τον τρόπο, το Hibernate «γνωρίζει» και τα δύο χα-
ρακτηριστικά της... «δυαδικής» φύσης της κλάσης μας, η
οποία είναι ταυτόχρονα ένα κλασικό object μίας αντικειμενο-
στραφούς γλώσσας προγραμματισμού και ένας πίνακας μίας
σχεσιακής βάσης. Από εκεί και πέρα, το Hibernate αναλαμβά-
νει όλη τη «βρομοδουλειά», όποτε χρειάζεται ένας πίνακας να
μετατραπεί σε αντικείμενο ή όταν ένα αντικείμενο απαιτείται
να αποθηκευτεί στη βάση δεδομένων. Αρκετά, όμως, με τη
θεωρία! Ας περάσουμε στην πράξη, για να δούμε πώς θα δη-
μιουργήσουμε μία εφαρμογή που θα κάνει χρήση όλων των
παραπάνω!
Δημιουργία βάσης δεδομένων
Για να λειτουργήσει η εφαρμογή μας, χρειάζεται προφα-
νώς μία βάση δεδομένων. Μπορούμε, λοιπόν, είτε να δημι-
ουργήσουμε τη δική μας βάση στο MySQL είτε να χρησιμο-
ποιήσουμε μία έτοιμη. Υπάρχει έτσι η δυνατότητα στο
Netbeans να εισαγάγουμε απευθείας μία βάση δεδομένων με
το όνομα sakila, την οποία μπορούμε να κατεβάσουμε από τη
διεύθυνση http://goo.gl/uWtec και να την εγκαταστήσουμε στη
MySQL σύμφωνα με τις οδηγίες που υπάρχουν στη διεύθυν-
ση http://goo.gl/l0qFr.
Αφού τελειώσουμε με την εγκατάσταση της βάσης στη
MySQL, ξεκινάμε το Netbeans και ακολουθούμε τα παρακάτω
βήματα:
1.
Από το μενού Tools->Plugin εγκαθιστούμε το Sakila
Sample Database plug–in.
2.
Από το Services window κάνουμε expand το Databases
node, δεξί κλικ στο MySQL node και επιλογή Start για να ξεκι-
νήσει η διασύνδεση μεταξύ Netbeans και MySQL.
3.
Δεξί κλικ στο MySQL Server και επιλογή Create
Database.
4.
Επιλέγουμε από το drop down menu τη βάση sakila και
πατάμε OK. Δημιουργείται έτσι κάτω από το node MySQL
Server ένα νέο node με το όνομα sakila, στο οποίο κάνουμε
δεξί κλικ και Connect. Μόλις συνδέσαμε το Netbeans με τη
νέα βάση δεδομένων μας!
Αφού ολοκληρώσαμε τη δημιουργία και τη σύνδεση της βά-
σης δεδομένων, ξεκινάμε ένα νέο project στο Netbeans (File-
>New Project), επιλέγουμε ως τύπο εφαρμογής Web
Application και μετά Next. Δίνουμε ένα όνομα στο νέο project
μας, επιλέγουμε ως application server τον Glassfish και ως
version του JAVA EE την 6, και πατάμε next. Στο επόμενο πα-
ράθυρο κάνουμε τις επιλογές που φαίνονται στην
εικόνα 2
και στη συνέχεια επιλέγουμε, από τη λίστα Database
Connection, ως βάση δεδομένων τη sakila. Μόλις πατήσουμε
Finish, το Netbeans δημιουργεί το project μας και ανοίγει αυ-
τόματα στον editor τα αρχεία hibernate.cfg.xml και index.xhtml
Ρύθμιση του Hibernate
Προκειμένου το Hibernate να μπορεί να λειτουργεί χωρίς
προβλήματα, απαιτείται η σωστή παραμετροποίησή του, έτσι
ώστε το mapping που προαναφέραμε να γίνεται σωστά. Το
αρχείο που περιέχει αυτές τις παραμέτρους είναι το αρχείο
hibernate.cfg.xml. Σε αυτό μπορούμε να προσθέσουμε ένα
πλήθος παραμέτρων (πέρα από αυτές που υπάρχουν ήδη
από τη δημιουργία του νέου project μας), αναλυτική περιγρα-
φή των οποίων υπάρχει στη διεύθυνση [3]. Το αρχείο
hibernate.cfg.xml είναι ένα text αρχείο το οποίο μπορούμε να
επεξεργαστούμε (αφού επιλέξουμε το αντίστοιχο tab) είτε ως
xml αρχείο είτε σε design mode (επιλέγοντας τα αντίστοιχα
Linux Labs - Java EE
Linux Inside
80
Η βάση δεδομένων sakila που εγκαταστήσαμε
στη MySQL σε προηγούμενο βήμα περιέχει μία
σειρά από πίνακες που αφορούν στη λειτουργία
ενός βιντεοκλάμπ.
Ρυθμίσεις του νέου project μας.
2
Ρυθμίσεις του αρχείου hibernate.cfg.xml.
3