Ho un'applicazione Spring Boot con dipendenza spring-boot-starter-data-jpa
. La mia classe di entità ha un'annotazione di colonna con un nome di colonna. Per esempio:
@Column(name="TestName")
private String testName;
SQL generato da questo creato test_name
come nome delle colonne. Dopo aver cercato una soluzione, ho scoperto che ha spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
risolto il problema (il nome della colonna è preso dall'annotazione della colonna).
Tuttavia, la mia domanda è perché senza naming_strategy impostato su EJB3NamingStrategy
JPA si ignora l'annotazione di colonna? Forse il dialetto ibernato ha qualcosa a che fare con questo? Mi sto collegando a MS SQL 2014 Express e i miei log contengono:
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
@Column(name="...")
annotazione, ad esempio quando si utilizza un tipo di accesso diverso da quello previsto, ma non è questo il caso qui.