Επικολλήστε τον παρακάτω κώδικα για να διαγράψετε ένα αντικείμενο JPA από τη βάση δεδομένων . Αυτή είναι η μέθοδος «αφαίρεση» :
Υπάλληλος υπάλληλος = em.find ( Employee.class , είναι μόνο ένας από τους τρόπους για να διαγράψετε ένα αντικείμενο JPA από τη βάση δεδομένων σας . Όταν διαπράττουν αυτή τη συναλλαγή , διαγράφει φυσικά το αντικείμενο οντότητας από τη βάση δεδομένων σας . Αλλά θα πρέπει να αποφασίσετε να κρατήσετε τα δεδομένα , το μόνο που έχετε να κάνετε είναι να ακυρώσει τη συναλλαγή , ή όχι να δημοσιεύσετε , να διατηρούν τα δεδομένα ανέπαφα . Αυτή η έννοια είναι επίσης αναφέρεται ως η μέθοδος " ρητή αφαίρεση " . 2
Επικολλήστε τον παρακάτω κώδικα για να επισημάνετε ένα πεδίο αναφοράς με CascadeType.REMOVE , ή CascadeType.ALL , η οποία περιλαμβάνει REMOVE , ανάλογα με το ποια προτιμάτε , μια οντότητα ή οντότητες που θέλετε να καταργήσετε :
@ οντότητα
Υπάλληλος τάξη {
:
@ OneToOne (καταρράκτη = CascadeType.REMOVE )
ιδιωτική διεύθυνση διεύθυνση ?
:
}
Λόγω της κλιμακωτές επιπτώσεις της CascadeType . ΑΦΑΙΡΕΣΗ μέθοδο , κάθε "Διεύθυνση " παράδειγμα της κατηγορίας « Υπάλληλος » στη βάση δεδομένων θα διαγραφούν μετά την ετικέτα του πεδίου διεύθυνσης στο οποίο οι αναφορές για τη συγκεκριμένη περίπτωση .
εικόνων 3
Επικολλήστε τον κώδικα πετυχαίνοντας για να ενεργοποιήσετε μια πιο επιθετική "αφαίρεση cascading " mode που χρησιμοποιεί το στοιχείο orphanRemoval του @ @ OneToOne και OneToMany σχολίων:
@ Οντότητα
κλάση Employee {
:
@ OneToOne ( orphanRemoval = true )
ιδιωτική διεύθυνση διεύθυνση ?
:
}
Σε αυτό το παράδειγμα , orphanRemoval = true και καταρράκτη = CascadeType.REMOVE είναι παρόμοια , γεγονός που καθιστά το CascadeType.REMOVE μια περιττή μέθοδο , ως εκ τούτου, δεν θα διαγραφεί τίποτα? μόνο η λειτουργία orphanRemoval θα εκτελέσει τη διαγραφή επειδή έχει οριστεί σε "true" κατάσταση
Η
Η
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα