Když jsem naposledy vytvářel Oracle databázi pro systém, strategie použití hibernate pro generování primárního klíče byla SEQUENCE, a tehdy jsem byl velmi unavený, protože nevím proč, Oracle + sequence+trigger nedokáže získat primární klíčovou hodnotu při přidávání nových dat.
Tentokrát se na to zaměřím a jsou tu dva nové problémy,
1。 Která hibernační strategie pro generování primárních klíčů má lepší výkon;
2。 Primární strategie generování klíčů by měly být ideálně napříč databázemi.
Všichni mluví o výkonu, orákulum používá sekvenci, takže primární klíč chce být generován tímto způsobem.
Pak je tu primární klíč pro vrácení nových dat
Rodilý Vyberte si jednu z identit, sekvence nebo hilo podle možností základní databáze;
To znamená, že se generuje primární klíč, který je zvolen hibernací.
Native a Denity jsou strategie generování sériových čísel databázových ID ID, Native is Hibernate je automaticky vybírán a generován, Identity je vybírán sám, Identity je MySQL, SQL2000 a další metody generování databází, a existuje také sekvence Oracle a další metody generování, obecně platí, že Native je automaticky vybírán Hibernate
U databází, které interně podporují identitní pole (DB2, MySQL, Sybase a MS SQL), můžete použít identitu vypnutou Generování klíčových slov. Pro databáze, které interně podporují sekvence (DB2, Oracle, PostgreSQL, Interbase, McKoi a SAP). DB), můžete použít generování klíčových slov ve stylu sekvence. Oba přístupy vyžadují vložení nového objektu dvakrát SQL dotazy.
Prohlédl jsem si více informací online, nevím, kde jsem to našel, tuto strategii generování primárních klíčů, pokud je to mysql, vybere si auto_increment způsob, jak generovat primární klíč; Pokud je to Oracle, zvolí metodu sekvence; Jenže při používání Oracle databáze je potřeba vytvořit hibernate_sequence, který je rezervován Hibernate, a pokud ho nesestavíte (testováno), nahlásí chybu. |