Alguém pode me ajudar estou tentando inserir os dados mais ta dando erro de duplicar valor da chave viola a restrição de unicidade eu já coloquei todas as chaves primárias e as secundárias também.
rg.postgresql.util.PSQLException: ERRO: duplicar valor da chave viola a restrição de unicidade "usuario_pkey"
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356)
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:303)
at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:289)
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:266)
at org.postgresql.jdbc.PgStatement.executeUpdate(PgStatement.java:246)
at insercaoBD.main(insercaoBD.java:45)
Então, é isso mesmo. Está duplicando sua primary key , a qual deve ser um identificador único.
Neste caso você deve rever a sua forma de inserção. Em casa de uso de Hibernate/JPA você deve alterar a sua estratégia de geração sequencial, mudando a anottation para por exemplo:
Então, antes de inserir um novo ‘Objeto’ ao seu banco, você deve efetuar uma busca no login (passando o login que você irá salvar) e verificar se já existe.
Se já existir, você não poderá salvá-lo, pois não aceita login duplicado.