Tengo una aplicación Spring Boot con dependencia spring-boot-starter-data-jpa. Mi clase de entidad tiene una anotación de columna con un nombre de columna. Por ejemplo:
@Column(name="TestName")
private String testName;
SQL generado por esto creado test_namecomo el nombre de las columnas. Después de buscar una solución, encontré que spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategyresolvió el problema (el nombre de la columna se toma de la anotación de la columna).
Aún así, mi pregunta es ¿por qué sin naming_strategy establecido en EJB3NamingStrategyJPA se ignora la anotación de columna? ¿Quizás el dialecto de hibernación tenga algo que ver con eso? Me estoy conectando a MS SQL 2014 Express y mis registros contienen:
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
@Column(name="...")anotación, por ejemplo, cuando usa un tipo de acceso diferente al esperado, pero ese no es el caso aquí.