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_name
como el nombre de las columnas. Después de buscar una solución, encontré que spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
resolvió 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 EJB3NamingStrategy
JPA 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í.