[RESOLVIDO]Inserir dados no Banco de Dados com Java

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)

https://pastebin.com/KikWAkvy

meu SQL

Olá Katielen.

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:

 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USU_SEQ")

Caso não esteja usando Hibernate pode pegar o último id inserido na sua tabela de usuário

SELECT MAX(ID) FROM SUA_TABELA

ou também usando nextval da sequence

SELECT NEXTVAL('usuario_id_seq');

eu vou tentar aqui,Obrigada

mas nessa minha tabela não tem id

Algum campo ficou definido com primary key.

De qualquer forma você deve corrigir e inserir um ID para sua tabela, o qual deverá ser sequencial e único.

campo login primary key, mas seu colocar o ID na tabela a inserção de dados que vem do XML vai inserir errado

Minha sugestão seria você criar esse campo ID auto incremental e deixar o campo login como unique

Já que por se tratar de login o mesmo não poderá ser duplicado.

entendi.Obrigada

Não posso criar um ID, como é um trabalho não faz parte da especificação

Certo.

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.

Mas a tabela ta vazia , to inserindo os primeiros dados

Consegui! Pior que não sei como, mas Obrigada

kkkkkk

beleza.

Favor marcar o comentário como Conclusão e adicionar ao título [RESOLVIDO]