Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 19696|Répondre: 2

[Source] Politique de génération de clés primaires native Nhibernate

[Copié le lien]
Publié sur 07/04/2017 10:02:04 | | |

La dernière fois que j’ai créé une base de données Oracle pour le système, la stratégie d’utiliser hibernate pour générer la clé primaire était SEQUENCE, et je me sentais très fatigué à ce moment-là, car je ne comprends pas pourquoi, oracle+sequence+trigger ne peut pas obtenir la valeur de clé primaire lors de l’ajout de nouvelles données.



Cette fois, je vais me concentrer là-dessus, et il y a deux nouveaux problèmes,

1。 Quelle stratégie d’hibernation pour générer les clés primaires offre de meilleures performances ;

2。 Les principales stratégies de génération de clés devraient idéalement être inter-bases de données.



Tout le monde parle de performance, Oracle utilise la séquence, donc la clé primaire doit toujours être générée de cette manière.

Ensuite, il y a la clé primaire pour retourner les nouvelles données


Natif
Choisir une identité, une séquence ou un hilo selon les capacités de la base de données sous-jacente ;

C’est-à-dire que la clé primaire est générée, choisie par hibernation.


Native et Denity sont toutes deux des stratégies de génération de numéros de série avec identifiants de base de données, Native is Hibernate est automatiquement sélectionné et généré, Identity est auto-sélectionné, Identity est MySQL, SQL2000 et d’autres méthodes de génération de bases de données, et il existe aussi une séquence qu’Oracle et d’autres méthodes de génération ; de manière générale, Native est automatiquement sélectionnée par Hibernate

Pour les bases de données qui prennent en charge les champs d’identité en interne (DB2, MySQL, Sybase et MS SQL), vous pouvez utiliser l’identité désactivée
Génération de mots-clés. Pour les bases de données qui prennent en charge les séquences en interne (DB2, Oracle, PostgreSQL, Interbase, McKoi et SAP).
DB), vous pouvez utiliser la génération de mots-clés de type séquence. Les deux approches nécessitent deux fois pour insérer un nouvel objet
Requêtes SQL.



J’ai vérifié plus d’informations en ligne, je ne sais pas où je l’ai vu, cette stratégie de génération de clés primaires, si c’est mysql, il choisira auto_increment façon de générer la clé primaire ; Si c’est Oracle, il choisira la méthode de la séquence ; C’est juste que lorsque vous utilisez Oracle Database, vous devez créer un hibernate_sequence, qui est réservé par Hibernate, et qui signalera une erreur si vous ne le construisez pas (testé).




Précédent:Résumé de l’ordre d’exécution des méthodes statiques, non statiques et constructives dans une classe
Prochain:Gestion simultanée de la distinction Timestamp et Concurrency Check
 Propriétaire| Publié sur 07/04/2017 10:02:07 |
Native est inné, natif, ce qui signifie qu’il est inné.
Cela signifie qu’il est généré automatiquement et ne nécessite ni aide ni contrôle manuel.

Assigné signifie désigné, assigné.
Si tu ne lui donnes rien, il ne peut pas y arriver.
Ça demande du travail, donne-lui quelque chose toi-même
Donc c’est assigné
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com