Je construis actuellement un modèle JPA à partir d'une ancienne base de données et j'ai besoin de conseils. Dans cette base de données, les identifiants ont été générés à partir d'une table object_id
n'ayant qu'une seule colonne PK appelée next_id
. Celui-ci next_id
est incrémenté à chaque fois qu'un nouvel objet est créé par le logiciel Java qui l'utilise.
Mon objectif est d'utiliser la même table pour générer des identifiants pour le modèle JPA. Est-ce quelque chose de possible ? j'ai essayé d'utiliser
@GeneratedValue(strategy = GenerationType.TABLE, generator = "myGenerator")
@TableGenerator(name = "myGenerator", table = "object_id", valueColumnName = "next_id")
mais cela ne semble pas fonctionner car la object_id
table n'a qu'une seule colonne (pas de colonne de nom de séquence).
J'ai les limitations suivantes :
J'ai oublié de mentionner que le développement de ce logiciel a commencé en 2000. A cette époque, il n'y avait pas d'outils comme Hibernate ou JPA. Un outil de persistance a été développé à partir de zéro et est toujours utilisé aujourd'hui. Le but est de s'en débarrasser et d'utiliser une technologie plus récente.
Des conseils ? Merci d'avance.
Vous pouvez créer votre propre générateur en utilisant @GenericGenerator
. Cela le rend cependant dépendant d'Hibernate, mais vous n'avez pas beaucoup de choix. Personnalisez ensuite la stratégie de génération afin que seul le nom de la table soit utilisé.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots