PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Hibernar:valor de chave duplicado viola restrição exclusiva


Quando você cria um bigserial coluna no Postgresql, você na verdade está criando uma sequência . Quando você inseriu manualmente um valor de ID '1', o Postgresql não atualizou a sequência para levar isso em consideração. O Hibernate permite que o Postgresql use a sequência para gerar o ID, mas o primeiro valor produzido é '1', que entra em conflito. O segundo valor está bom.

Se você criou o problema indo atrás do Hibernate e usando o SQL diretamente, você deve corrigi-lo da mesma maneira:use ALTER SEQUENCE para definir o próximo valor :
alter sequence basedesign_id_seq restart with 2;