Maison >base de données >tutoriel mysql >Comment générer des identifiants pour les superclasses abstraites dans une application Spring MVC à l'aide d'Hibernate et MySQL ?
Superclasse abstraite polymorphe et génération d'identité MySQL
Dans une application Spring MVC utilisant Hibernate et MySQL, le défi de la gestion des identifiants pour les superclasses abstraites et leurs sous-classes apparaissent. GenerationType.IDENTITY n'est pas compatible avec les superclasses abstraites et MySQL ne prend pas en charge les séquences. Comment ce problème peut-il être résolu ?
Tout d'abord, il est important de comprendre la limitation de MySQL : il ne peut pas générer d'identifiants et insérer des enregistrements simultanément. Hibernate, cependant, s'attend à cette fonctionnalité lors des insertions d'entités.
Pour résoudre ce problème, une table "LAST_IDS" peut être implémentée. Ce tableau suit les derniers identifiants attribués pour chaque entité pertinente. Les étapes suivantes décrivent le processus de génération et de conservation des identifiants à l'aide de cette approche :
En utilisant cette approche, la génération et la gestion des identifiants deviennent compatibles avec les superclasses abstraites et les limitations de MySQL. Il est à noter que l'héritage dans les entités Hibernate ne doit généralement être utilisé que lors de la prise en charge des relations d'héritage dans la base de données, comme PostgreSQL ou Oracle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!