PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Hibernate :la valeur de clé en double viole la contrainte unique

Lorsque vous créez un bigserial colonne dans Postgresql, vous créez en fait une séquence . Lorsque vous avez inséré manuellement une valeur d'ID de '1', Postgresql n'a pas mis à jour la séquence pour en tenir compte. Hibernate laisse Postgresql utiliser la séquence pour générer l'ID, mais la première valeur produite est '1', ce qui est en conflit. La deuxième valeur convient.

Si vous avez créé le problème en allant derrière Hibernate et en utilisant directement SQL, vous devez le résoudre de la même manière :utiliser ALTER SEQUENCE pour définir la valeur suivante :

alter sequence basedesign_id_seq restart with 2;