..
Αναφερόμενος στο παράδειγμα της προηγούμενης παραγράφου, θα δούμε πώς μπορείτε να δημιουργήσετε το DAO για το Αυτοκίνητο οντότητα.
Πρώτα απ 'όλα creaimo διασύνδεση με μεθόδους που βασίζονται σε DAO, και συγκεκριμένα: το φορτίο, αποθήκευση, ενημέρωση και διαγραφή.
it.mrwebmaster.hibernate.dao πακέτο?
it.mrwebmaster.hibernate.Car εισαγωγές?
{Δημόσια διεπαφή CarDao
δημόσια φορτίο αυτοκινήτου (Integer id)?
εξοικονόμηση δημοσίου αυτοκινήτου (car Car)?
ενημέρωση δημόσια αυτοκινήτου (car Car)?
public void remove (αυτοκίνητο Car)?
}
Δημιουργήθηκε περάσει interface για τη δημιουργία της εφαρμογής:
it.mrwebmaster.hibernate.dao πακέτο?
it.mrwebmaster.hibernate.Car εισαγωγές?
javax.persistence.EntityManager εισαγωγές?
javax.persistence.PersistenceContext εισαγωγές?
org.springframework.transaction.annotation.Transactional εισαγωγές?
@ Συναλλακτική
CarDaoImpl {δημόσια τάξη υλοποιεί CarDao
@ PersistenceContext (unitName = "μπορούν")
ιδιωτική EntityManager em?
@ Παράκαμψη
public void remove (αυτοκίνητο Car) {
em.remove (char)?
}
@ Παράκαμψη
@ Transactional (μόνο για ανάγνωση = αλήθεια)
δημόσια φορτίο αυτοκινήτου (Integer id) {
επιστροφή em.find (Car.class, id)?
}
@ Παράκαμψη
εξοικονόμηση δημοσίου αυτοκινήτου (car Car) {
em.persist (char)?
επιστρέψετε το αυτοκίνητο?
}
@ Παράκαμψη
ενημέρωση δημόσια αυτοκινήτου (car Car) {
em.merge επιστροφή (char)?
}
δημόσια άκυρη setEm (EntityManager em) {
this.em = em?
}
getEm δημόσια EntityManager () {
επιστροφή p?
}
}
και τέλος στην «applicationContext.xml:
<-! CAR DAO -> <bean id="carDaoImpl" class="it.mrwebmaster.hibernate.dao.CarDaoImpl" />
Όπως μπορούμε να δούμε την εφαρμογή της nost DAO χρειαζόμαστε EntityManager, η οποία χορηγείται με ένεση απευθείας από εμάς », μέσω της χρήσης της ΔΟΕ σχολιασμούς @ PersistenceContext.
Οι εφαρμογές της κάθε μεθόδου είναι ασήμαντο, να μεταβιβάσει απλά το all'EntityManager εργασίας.
Όσον αφορά τη διαχείριση των συναλλαγών, έχει επιλέξει να χρησιμοποιήσει το @ Συναλλακτική σχολιασμού.
Αυτό επιτρέπει την άνοιξη για να δημιουργήσετε την εμφάνιση του DAO μας θα χρησιμοποιήσει ένα πληρεξούσιο, που δουλειά τους είναι να ανοίξει και να κλείσει τη συναλλαγή πριν από την κλήση σε μια μέθοδο και αμέσως μετά την «έξοδο από την ίδια τη μέθοδο να κάνει μια δέσμευση ή μια υποχώρηση σε περίπτωση λάθους.
Σημειώστε, τέλος, η χρήση του @ Transactional για το μόνο για ανάγνωση nell'annotation μέθοδο φορτίο, με τον τρόπο αυτό έχει δημιουργήσει μια μετάβαση μόνο για ανάγνωση.
Η διαχείριση των συναλλαγών γίνεται μέσω της χρήσης των AOP, για να μπορέσει ακριβώς να προσθέσετε applicazionContext.xml μας:
<-! Διαχείρισης συναλλαγών -> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </ Φασολιών> transaction-manager="transactionManager" <tx:annotation-driven />
| |
Linux (Μάθημα)
Πλήρης οδηγός για την open-source σύστημα. Από 49 €. |
| |
PHP (Μάθημα)
Η πλήρης σειρά μαθημάτων για τη δημιουργία δυναμικών ιστοσελίδων. Από 49 €. |
| |
Ruby και Ruby on Rails (Μάθημα)
Δημιουργία λογισμικού και Web εφαρμογές με Ρουμπίνι και RoR. Από 39 €. |