Ich habe eine Spring Boot-Anwendung mit Abhängigkeit spring-boot-starter-data-jpa
. Meine Entitätsklasse hat eine Spaltenanmerkung mit einem Spaltennamen. Beispielsweise:
@Column(name="TestName")
private String testName;
SQL, das dadurch generiert wird, wird test_name
als Spaltenname erstellt. Nachdem ich nach einer Lösung gesucht habe, habe ich festgestellt, dass spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
das Problem behoben ist (der Spaltenname stammt aus der Spaltenanmerkung).
Meine Frage ist jedoch, warum ohne die auf EJB3NamingStrategy
JPA gesetzte Namensstrategie die Spaltenanmerkung ignoriert wird. Vielleicht hat der Dialekt im Winterschlaf etwas damit zu tun? Ich stelle eine Verbindung zu MS SQL 2014 Express her und meine Protokolle enthalten:
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
@Column(name="...")
Anmerkungen möglicherweise ignoriert , z. B. wenn Sie einen anderen als den erwarteten Zugriffstyp verwenden. Dies ist hier jedoch nicht der Fall.