Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 19696|Απάντηση: 2

[Πηγή] Πολιτική δημιουργίας εγγενούς πρωτεύοντος κλειδιού Nhibernate

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 7/4/2017 10:02:04 π.μ. | | |

Την τελευταία φορά που έφτιαξα μια βάση δεδομένων Oracle για το σύστημα, η στρατηγική χρήσης αδρανοποίησης για τη δημιουργία του πρωτεύοντος κλειδιού ήταν το SEQUENCE και ένιωσα πολύ κουρασμένος εκείνη τη στιγμή, γιατί δεν ξέρω γιατί, το oracle+sequence+trigger δεν μπορεί να πάρει την τιμή του πρωτεύοντος κλειδιού κατά την προσθήκη νέων δεδομένων.



Αυτή τη φορά θα επικεντρωθώ σε αυτό, και υπάρχουν δύο νέα προβλήματα,

1。 Ποια στρατηγική αδρανοποίησης για τη δημιουργία πρωτευόντων κλειδιών έχει καλύτερη απόδοση.

2。 Οι στρατηγικές δημιουργίας πρωτογενών κλειδιών θα πρέπει ιδανικά να είναι διασταυρούμενες βάσεις δεδομένων.



Όλοι μιλούν για απόδοση, η oracle χρησιμοποιεί ακολουθία, επομένως το πρωτεύον κλειδί εξακολουθεί να θέλει να δημιουργηθεί με αυτόν τον τρόπο.

Στη συνέχεια, υπάρχει το πρωτεύον κλειδί για την επιστροφή των νέων δεδομένων


εγγενής
Επιλέξτε ένα από τα identity, sequence ή hilo σύμφωνα με τις δυνατότητες της υποκείμενης βάσης δεδομένων.

Δηλαδή, δημιουργείται το πρωτεύον κλειδί, το οποίο επιλέγεται με αδρανοποίηση.


Το Native και το Denity είναι και οι δύο στρατηγικές δημιουργίας σειριακού αριθμού αναγνωριστικού βάσης δεδομένων, το Native is Hibernate επιλέγεται και δημιουργείται αυτόματα, το Identity είναι αυτοεπιλεγμένο, το Identity είναι MySQL, SQL2000 και άλλες μέθοδοι δημιουργίας βάσεων δεδομένων, και υπάρχει επίσης μια ακολουθία που είναι η Oracle και άλλες μέθοδοι παραγωγής, σε γενικές γραμμές, το Native επιλέγεται αυτόματα από την αδρανοποίηση

Για βάσεις δεδομένων που υποστηρίζουν πεδία ταυτότητας εσωτερικά (DB2, MySQL, Sybase και MS SQL), μπορείτε να χρησιμοποιήσετε την ταυτότητα απενεργοποιημένη
Δημιουργία λέξεων-κλειδιών. Για βάσεις δεδομένων που υποστηρίζουν ακολουθίες εσωτερικά (DB2, Oracle, PostgreSQL, Interbase, McKoi και SAP).
DB), μπορείτε να χρησιμοποιήσετε τη δημιουργία λέξεων-κλειδιών σε στυλ ακολουθίας. Και οι δύο προσεγγίσεις απαιτούν δύο φορές για την εισαγωγή ενός νέου αντικειμένου
Ερωτήματα SQL.



Έλεγξα περισσότερες διαδικτυακές πληροφορίες, δεν ξέρω πού τις είδα, αυτή τη στρατηγική δημιουργίας πρωτευόντων κλειδιών, αν είναι mysql, θα επιλέξει auto_increment τρόπο δημιουργίας του πρωτεύοντος κλειδιού. Αν είναι Oracle, θα επιλέξει τη μέθοδο ακολουθίας. Απλώς, όταν χρησιμοποιείτε τη βάση δεδομένων Oracle, πρέπει να δημιουργήσετε ένα hibernate_sequence, το οποίο είναι δεσμευμένο από την Αδρανοποίηση και θα αναφέρει ένα σφάλμα εάν δεν το δημιουργήσετε (δοκιμασμένο).




Προηγούμενος:Περίληψη της σειράς εκτέλεσης στατικών, μη στατικών και εποικοδομητικών μεθόδων σε μια κλάση
Επόμενος:Χειρισμός ταυτόχρονης διάκρισης Timestamp και ConcurrencyCheck
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 7/4/2017 10:02:07 π.μ. |
Το εγγενές είναι έμφυτο, εγγενές, που σημαίνει ότι είναι έμφυτο.
Αυτό σημαίνει ότι δημιουργείται αυτόματα και δεν απαιτεί χειροκίνητη βοήθεια ή έλεγχο.

Εκχωρημένος σημαίνει καθορισμένος, εκχωρημένος.
Αν δεν του δώσεις κάτι, τότε δεν μπορεί να το πετύχει.
Θέλει κόπο, δώσε του κάτι μόνος σου
Οπότε έχει ανατεθεί
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com