Nome de Atributos/Campos Hibernate [RESOLVIDO]

Boa noite pessoal !
Eu tenho uma tabela no banco com o nome de Lojas :

Eu tenho um objeto (entidade de dominio) :

Porem o Hibernate esta trocando os nomes na hora de mapear

Porque ?
tem como eu configurar pra isso nao acontecer ?

Bom dia, seu problema esta no relacionamento entre a classe Loja e Cidade. Não se preocupe com os nomes que o hibernate usa pois é simplesmente um controle interno do framework.

Reveja o relacionamento e o código vai funcionar.

1 curtida

Legal ! Verdade, e eu sei que pode existir um erro la.
Mas tem uma mensagem de erro na ultima imagem , vc viu ?
Ele nao deveria tratar desta forma.

eu vi…mas como não tem a classe cidade postada não como saber se o relacionamento está 100% correto. Pois o que ele está dizendo é que o campo de id da tabela cidade não existe, então posso supor três coisas.

1 - A tabela de cidades não foi criada.
2 - A classe cidade não está mapeada.
3 - A classe tem um id composto.

As vezes só colocando o campo de referencia no @JoinColumn você mata o erro.

1 - Esta Criadda no banco de dados
2 - Esta Mapeada no dominio
3 - Observe bem a segunda imagem, esta com o @JoinColumn

Modelo de cidade

Coloca o campo de referencia no @JoinColumn e testa novamente. É o que eu posso ajudar com a informação que tenho. O que vc colocou ali é nome do campo para tabela Loja e não o campo da tabela cidade.

@JoinColumn(name = “cidadeId”, referencedColumnName = “id”)

lembrando que não são os nomes das variáveis e sim dos campos na tabela.

Resolvido !

spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl