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 ?
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.
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
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