Eu tenho um aplicativo Spring Boot com dependência spring-boot-starter-data-jpa
. Minha classe de entidade possui uma anotação de coluna com um nome de coluna. Por exemplo:
@Column(name="TestName")
private String testName;
SQL gerado por isso criado test_name
como o nome das colunas. Depois de procurar uma solução, descobri que spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
resolveu o problema (o nome da coluna é obtido da anotação da coluna).
Ainda assim, minha pergunta é por que, sem naming_strategy definido como EJB3NamingStrategy
JPA, está ignorando a anotação da coluna? Talvez o dialeto de hibernação tenha algo a ver com isso? Estou conectando ao MS SQL 2014 Express e meus logs contêm:
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
@Column(name="...")
anotações, por exemplo, quando você usa outro tipo de acesso que não o esperado, mas esse não é o caso aqui.