Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 19696|Respuesta: 2

[Fuente] Política de generación primaria nativa de claves nhibernate

[Copiar enlace]
Publicado en 7/4/2017 10:02:04 | | |

La última vez que hice una base de datos Oracle para el sistema, la estrategia de usar hibernate para generar la clave primaria era SEQUENCE, y en ese momento me sentí muy cansado, porque no sé por qué, oracle+sequence+trigger no puede obtener el valor de clave primaria al añadir nuevos datos.



Esta vez me centraré en esto, y hay dos problemas nuevos,

1。 ¿Qué estrategia de hibernación para generar claves primarias tiene mejor rendimiento;

2。 Las estrategias principales de generación de claves deberían ser idealmente entre bases de datos.



Todo el mundo habla de rendimiento, Oracle usa secuencia, así que la clave primaria sigue queriendo generarse de esta manera.

Luego está la clave primaria para devolver los nuevos datos


Nativo
Elige uno de identidad, secuencia o hilo según las capacidades de la base de datos subyacente;

Es decir, se genera la clave primaria, que se elige mediante hibernación.


Native y Denity son ambas estrategias de generación de números de serie con ID de base de datos, Native is Hibernate se selecciona y genera automáticamente, Identity se autoselecciona, Identity es MySQL, SQL2000 y otros métodos de generación de bases de datos, y también existe una secuencia que es Oracle y otros métodos de generación; en general, Native se selecciona automáticamente por Hibernate

Para bases de datos que soportan campos identidad internamente (DB2, MySQL, Sybase y MS SQL), puedes usar la identidad desactivada
Generación de palabras clave. Para bases de datos que soportan secuencias internamente (DB2, Oracle, PostgreSQL, Interbase, McKoi y SAP).
DB), puedes usar generación de palabras clave en secuencia. Ambos enfoques requieren dos veces para insertar un nuevo objeto
Consultas SQL.



He consultado más información en internet, no sé dónde la vi, esta estrategia de generar claves primarias, si es mysql, él elegirá auto_increment forma de generar la clave primaria; Si es Oráculo, elegirá el método de secuencia; Es solo que al usar la base de datos de Oracle, necesitas crear un hibernate_sequence, que está reservado por Hibernate, y que reportará un error si no lo compilas (probado).




Anterior:Resumen del orden de ejecución de métodos estáticos, no estáticos y constructivos en una clase
Próximo:Gestión de la distinción concurrente entre Timestamp y Concurrency Check
 Propietario| Publicado en 7/4/2017 10:02:07 |
Nativo es innato, nativo, lo que significa que es innato.
Eso significa que se genera automáticamente y no requiere ayuda ni control manual.

Asignado significa designado, asignado.
Si no le das algo, no podrá lograrlo.
Requiere esfuerzo, dale algo tú mismo
Así que está asignado
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com