Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 19696|Răspunde: 2

[Sursă] Politica de generare a cheilor primare native Nhibernate

[Copiază linkul]
Postat pe 07.04.2017 10:02:04 | | |

Ultima dată când am creat o bază de date Oracle pentru sistem, strategia de a folosi hibernate pentru a genera cheia primară a fost SEQUENCE, și m-am simțit foarte obosit atunci, pentru că nu știu de ce, oracle+sequence+trigger nu poate obține valoarea cheii primare când adaugă date noi.



De data aceasta mă voi concentra pe asta, și apar două probleme noi,

1。 Care strategie de hibernare pentru generarea cheilor primare are performanțe mai bune;

2。 Strategiile principale de generare a cheilor ar trebui, ideal, să fie cross-database.



Toată lumea vorbește despre performanță, oracolul folosește secvența, deci cheia principală vrea totuși să fie generată în acest mod.

Apoi există cheia primară pentru a returna noile date


Nativ
Alege una dintre identități, secvență sau hilo, în funcție de capacitățile bazei de date subiacente;

Adică, cheia primară este generată, care este aleasă prin hibernare.


Native și Denity sunt ambele strategii de generare a numerelor de serie ale ID-ului bazei de date, Native is Hibernate este selectat și generat automat, Identity este auto-selectat, Identity este MySQL, SQL2000 și alte metode de generare a bazei de date, iar există și o secvență care este Oracle și alte metode de generare, în general, Native este selectat automat de Hibernate

Pentru bazele de date care suportă intern câmpuri de identitate (DB2, MySQL, Sybase și MS SQL), poți folosi identitatea dezactivată
Generarea cuvintelor cheie. Pentru baze de date care suportă secvențe intern (DB2, Oracle, PostgreSQL, Interbase, McKoi și SAP).
DB), poți folosi generarea de cuvinte cheie în stil secvențial. Ambele abordări necesită de două ori pentru inserarea unui obiect nou
Interogări SQL.



Am verificat mai multe informații online, nu știu unde le-am văzut, această strategie de generare a cheilor primare, dacă este mysql, el va alege auto_increment mod de a genera cheia primară; Dacă este Oracle, el va alege metoda secvenței; Doar că atunci când folosești baza de date Oracle, trebuie să creezi un hibernate_sequence, care este rezervat de Hibernate, și va raporta o eroare dacă nu îl construiești (testat).




Precedent:Rezumat al ordinii de execuție a metodelor statice, nestatice și constructive într-o clasă
Următor:Gestionarea distincției simultane între Timestamp și ConcurrencyCheck
 Proprietarul| Postat pe 07.04.2017 10:02:07 |
Nativ este înnăscut, nativ, ceea ce înseamnă că este înnăscut.
Asta înseamnă că este generat automat și nu necesită ajutor sau control manual.

Atribuit înseamnă desemnat, atribuit.
Dacă nu-i dai ceva, atunci nu poate reuși.
Este nevoie de muncă, dă-i tu ceva
Deci este repartizat
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com