Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 19696|Antwort: 2

[Quelle] Nhibernate Nhibernate Primary Key Generation Policy

[Link kopieren]
Veröffentlicht am 07.04.2017 10:02:04 | | |

Als ich das letzte Mal eine Oracle-Datenbank für das System erstellt habe, war die Strategie, den Primärschlüssel zu nutzen, SEQUENCE, und ich war damals sehr müde, weil ich nicht weiß, warum, oracle+sequence+trigger kann den Primärschlüsselwert beim Hinzufügen neuer Daten nicht erhalten.



Diesmal werde ich mich darauf konzentrieren, und es gibt zwei neue Probleme,

1。 Welche Winterschlafstrategie zur Erzeugung von Primärschlüsseln hat eine bessere Leistung;

2。 Primäre Schlüsselgenerierungsstrategien sollten idealerweise datenbankübergreifend erfolgen.



Jeder spricht über Performance, Oracle verwendet Sequenz, daher möchte der Primärschlüssel trotzdem auf diese Weise generiert werden.

Dann gibt es noch den Primärschlüssel, um die neuen Daten zurückzugeben


ursprünglich
Wählen Sie eine Identität, Sequenz oder Hilo entsprechend den Fähigkeiten der zugrunde liegenden Datenbank;

Das heißt, der Primärschlüssel wird erzeugt, der durch den Winterschlaf ausgewählt wird.


Native und Denity sind beides Strategien zur Generierung von Datenbank-ID-Seriennummern: Native ist Hibernate wird automatisch ausgewählt und generiert, Identity ist selbstgewählt, Identity ist MySQL, SQL2000 und andere Datenbankgenerierungsmethoden, und es gibt auch eine Sequenz, nämlich Oracle und andere Generierungsmethoden. Im Allgemeinen wird Native automatisch von Hibernate ausgewählt

Für Datenbanken, die Identitätsfelder intern unterstützen (DB2, MySQL, Sybase und MS SQL), kannst du identity off verwenden
Schlüsselwortgenerierung. Für Datenbanken, die intern Sequenzen unterstützen (DB2, Oracle, PostgreSQL, Interbase, McKoi und SAP).
DB), kannst du eine Schlüsselwortgenerierung im Sequenzstil verwenden. Beide Ansätze erfordern zweimal das Einfügen eines neuen Objekts
SQL-Abfragen.



Ich habe mehr Online-Informationen überprüft, ich weiß nicht, wo ich sie gefunden habe, diese Strategie, Primärschlüssel zu generieren, wenn es MySQL ist, wählt er auto_increment Methode zur Erzeugung des Primärschlüssels; Wenn es Oracle ist, wählt er die Sequenzmethode; Es ist nur so, dass man bei der Nutzung der Oracle-Datenbank ein hibernate_sequence erstellen muss, das von Hibernate reserviert ist und einen Fehler meldet, wenn man es nicht baut (getestet).




Vorhergehend:Zusammenfassung der Ausführungsreihenfolge statischer, nicht-statischer und konstruktiver Methoden in einer Klasse
Nächster:Umgang mit Unterscheidungen zwischen gleichzeitigem Zeitstempel und Concurrency Check
 Vermieter| Veröffentlicht am 07.04.2017 10:02:07 |
Native ist angeboren, native, was bedeutet, dass es angeboren ist.
Das bedeutet, dass es automatisch generiert wird und keine manuelle Hilfe oder Steuerung benötigt.

Zugewiesene Mittel sind bestimmt, zugewiesen.
Wenn du ihm nichts gibst, kann er es nicht erreichen.
Es erfordert Arbeit, gib ihm selbst etwas
Also ist es zugewiesen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com