Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 19696|Risposta: 2

[Fonte] Politica di generazione primaria nativa di chiavi nativi

[Copiato link]
Pubblicato su 07/04/2017 10:02:04 | | |

L'ultima volta che ho creato un database Oracle per il sistema, la strategia di usare Hibernate per generare la chiave primaria era SEQUENCE, e in quel momento mi sentivo molto stanco, perché non so perché, oracle+sequence+trigger non riesce a ottenere il valore chiave primario quando si aggiungono nuovi dati.



Questa volta mi concentrerò su questo, e ci sono due nuovi problemi,

1。 Quale strategia di ibernazione per generare le chiavi primarie ha prestazioni migliori;

2。 Le strategie primarie di generazione delle chiavi dovrebbero idealmente essere cross-database.



Tutti parlano di prestazioni, Oracle usa la sequenza, quindi la chiave primaria vuole comunque essere generata in questo modo.

Poi c'è la chiave primaria per restituire i nuovi dati


Nativi
Scegli uno di identità, sequenza o hilo in base alle capacità del database sottostante;

Cioè, viene generata la chiave primaria, che viene scelta tramite ibernazione.


Native e Denity sono entrambe strategie di generazione di numeri di serie con ID database, Native is Hibernate viene selezionato e generato automaticamente, Identity è auto-selezionato, Identity è MySQL, SQL2000 e altri metodi di generazione di database, e c'è anche una sequenza che è Oracle e altri metodi di generazione; in generale, Native viene selezionato automaticamente da Hibernate

Per i database che supportano internamente i campi identità (DB2, MySQL, Sybase e MS SQL), puoi usare l'identità disattivata
Generazione di parole chiave. Per database che supportano sequenze internamente (DB2, Oracle, PostgreSQL, Interbase, McKoi e SAP).
DB), puoi usare la generazione di parole chiave in stile sequenza. Entrambi gli approcci richiedono due volte per inserire un nuovo oggetto
Query SQL.



Ho controllato più informazioni online, non so dove l'ho vista, questa strategia di generare chiavi primarie, se è mysql, sceglierà auto_increment modo di generare la chiave primaria; Se è Oracle, sceglierà il metodo della sequenza; È solo che quando usi Oracle database, devi creare un hibernate_sequence, che viene riservato da Hibernate, e che segnala un errore se non lo costruisci (testato).




Precedente:Riassunto dell'ordine di esecuzione dei metodi statici, non statici e costruttivi in una classe
Prossimo:Gestione della distinzione tra Timestamp e ConcurrencyCheck contemporanei
 Padrone di casa| Pubblicato su 07/04/2017 10:02:07 |
Nativo è innato, nativo, il che significa che è innato.
Questo significa che viene generato automaticamente e non richiede aiuto o controllo manuale.

Assegnato significa designato, assegnato.
Se non gli dai qualcosa, allora non può ottenerlo.
Ci vuole lavoro, dagli qualcosa da solo
Quindi è assegnato
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com