Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 19696|Svar: 2

[Kilde] NHIBERT-politik for generering af oprindelige primærnøgler

[Kopier link]
Opslået på 07/04/2017 10.02.04 | | |

Sidste gang jeg lavede en Oracle-database til systemet, var strategien med at bruge dvale til at generere primærnøglen SEQUENCE, og jeg følte mig meget træt på det tidspunkt, fordi jeg ikke ved hvorfor, oracle+sequence+trigger kan ikke få primærnøgleværdien, når nye data tilføjes.



Denne gang vil jeg fokusere på dette, og der er to nye problemer,

1。 Hvilken dvalestrategi til generering af primærnøgler har bedre ydeevne;

2。 Primærnøglegenereringsstrategier bør ideelt set være på tværs af databaser.



Alle taler om performance, oracle bruger sekvens, så primærnøglen vil stadig genereres på denne måde.

Så er der primærnøglen til at returnere de nye data


indfødt
Vælg en af identitet, sekvens eller hilo alt efter databasens kapaciteter;

Det vil sige, primærnøglen genereres, som vælges ved dvale.


Native og Denity er begge strategier for generering af database-ID serienumre; Native er Hibernate vælges og genereres automatisk, Identity er selvvalgt, Identity er MySQL, SQL2000 og andre databasegenereringsmetoder, og der er også en sekvens, der er Oracle og andre genereringsmetoder; generelt vælges Native automatisk af Hibernate

For databaser, der understøtter identitetsfelter internt (DB2, MySQL, Sybase og MS SQL), kan du bruge identitet fra
Nøgleordgenerering. For databaser, der understøtter sekvenser internt (DB2, Oracle, PostgreSQL, Interbase, McKoi og SAP).
DB), kan du bruge sekvensbaseret nøgleordgenerering. Begge tilgange kræver to gange for at indsætte et nyt objekt
SQL-forespørgsler.



Jeg tjekkede mere information online, jeg ved ikke, hvor jeg fandt det, denne strategi med at generere primærnøgler, hvis det er mysql, vælger han auto_increment måde at generere primærnøglen på; Hvis det er Oracle, vælger han sekvensmetoden; Det er bare sådan, at når du bruger Oracle-databasen, skal du oprette en hibernate_sequence, som er reserveret af Hibernate, og som vil rapportere en fejl, hvis du ikke bygger den (tester).




Tidligere:Sammenfatning af eksekveringsrækkefølgen for statiske, ikke-statiske og konstruktive metoder i en klasse
Næste:Håndtering af samtidig tidsstempel- og ConcurrencyCheck-skel
 Udlejer| Opslået på 07/04/2017 10.02.07 |
Indfødt er medfødt, indfødt, hvilket betyder, at det er medfødt.
Det betyder, at den automatisk genereres og ikke kræver manuel hjælp eller kontrol.

Tildelt betyder udpeget, tildelt.
Hvis du ikke giver ham noget, kan han ikke opnå det.
Det kræver arbejdskraft, giv det noget selv
Så det er tildelt
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com