4
respostas

Ajuda projeto próprio

Olá Professor, tudo bem? Gostaria que me ajudasse a resolver esse erro que estou tendo no meu projeto.

Criei uma entidade Produto que esta relacionada a tabela produtos no Banco de Dados. Setei que ela geraria um UUID como chave primária e que posteriormente serviria de chave estrangeira na tabela Estoque. Porém, estou tentando cadastrar um Produto e não consigo. Percebi que o Hibernate está tentando salvar o nome_produto na coluna iD, e eu não configurei isso. Já olhei tudo e não consegui resolver. Vou mandar minha Entidade, Service, DTO, estrutura do banco e json passado pra vc.

Erro no console: (a coluna id está por ultimo, mas deveria ser a primeira e gerada automaticamente) Insira aqui a descrição dessa imagem para ajudar na acessibilidade Estrutura do Banco:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Entidade Produto

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeService:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

DTO:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

To achando que o erro tem a ver com o UUID

4 respostas

Oi!

O problema é que sua coluna id no banco de dados foi criada como varchar, mas deveria ser binary. Crie uma nova migration para ajustar:

alter table produtos modify id BINARY(16) NOT NULL;

Deu certo professor, muito obrigado!!!

Professor, queria uma ajuda sua! Ontem eu tava mexendo no projeto, e fiz um commit. Vi que eu tinha que ter adicionado mais coisas, ajustei o codigo e fui tentar fazer um commit amend pra incluir no ultimo commit. Porém, nao deu certo. Acabei zuando a base do código e agr não consigo commitar mais kkkkk. Será q tem como arrumar? Um jeito de cancelar os commits anteriores e dar um pull pra todas as modificacoes ja feitas e deixar igual dnv? Pq quando eu vou fazer um commit ele diz que a base do meu codigo ta diferente do repositorio. Quanto mais eu tentei mexer ontem mais piorou kkkkkk Insira aqui a descrição dessa imagem para ajudar na acessibilidade https://github.com/matheusmaiagoulart/commerce_db

Pelo que vejo na imagem e pelo que você descreveu, o problema é que seu repositório local está "atrasado" em relação ao repositório remoto (GitHub).

Aqui estão os passos que você pode seguir para resolver isso e "resetar" seu repositório local para corresponder ao remoto:

1. Salve as alterações não commitadas (se houver):

  • Se você tiver alterações no seu código que ainda não foram adicionadas ao staging area (com git add), ou que foram adicionadas mas não commitadas, você tem algumas opções:
    • Opção 1: Descarte as mudanças (cuidado!): Se você não precisa das alterações, pode descartá-las com git checkout . (para arquivos não adicionados ao staging area) e git reset HEAD . (para arquivos no staging area) e git clean -fd para deletar arquivos novos sem track. Tenha cuidado, pois isso apagará as alterações locais!
    • Opção 2: Crie um novo branch temporário: Para não perder as mudanças, crie um branch temporário para guardar suas alterações: git branch temp_branch e git checkout temp_branch.

2. Sincronize seu repositório local:

Este é o passo mais importante. Ele vai buscar as últimas atualizações do repositório remoto e mesclá-las no seu branch local.

  • Abra o terminal e execute o seguinte comando:

    git pull origin main
    
  • Conflitos: Se houver conflitos entre as suas alterações locais e as alterações do repositório remoto, o git pull irá parar e mostrar quais arquivos têm conflitos. Você precisará abrir esses arquivos no seu editor de código, resolver os conflitos manualmente (escolhendo quais mudanças manter) e, em seguida, adicionar os arquivos resolvidos ao staging area (git add arquivo) e fazer um novo commit.

3. Verifique o status:

  • Depois de resolver os conflitos (se houver) e commitar as mudanças, execute:

    git status
    

    Isso deve mostrar que seu branch está atualizado com o repositório remoto.

4. Tente fazer o push novamente:

  • Agora que seu repositório local está sincronizado, você pode tentar enviar suas alterações novamente:

    git push origin main
    

    Se tudo estiver correto, o push deve ser bem-sucedido.

Se você criou um branch temporário:

  • Se você seguiu a opção de criar um branch temporário no passo 1, agora você pode voltar para o branch principal (git checkout main), fazer o git pull origin main como descrito acima e depois mesclar as alterações do branch temporário de volta ao branch principal com git merge temp_branch. Resolva os conflitos que possam surgir durante a mesclagem, adicione os arquivos resolvidos ao staging area e faça um commit. Por fim, você pode enviar as alterações para o repositório remoto com git push origin main. Depois de ter certeza que tudo está ok, você pode apagar o branch temporário com git branch -d temp_branch.

Recomendação:

  • É uma boa prática fazer git pull regularmente (antes de começar a trabalhar e antes de fazer git push) para evitar conflitos e manter seu repositório local sincronizado.
  • Nunca faça ammend de commits públicos (commits que já foram enviados para o repositório remoto com git push), pois isso vai causar problemas no repositório)