У меня есть приложение Spring Boot с зависимостью spring-boot-starter-data-jpa. В моем классе сущности есть аннотация столбца с именем столбца. Например:
@Column(name="TestName")
private String testName;
SQL, сгенерированный этим, создается test_nameкак имя столбца. После поиска решения я обнаружил, что spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategyрешает проблему (имя столбца взято из аннотации столбца).
Тем не менее, мой вопрос в том, почему без naming_strategy, установленного в EJB3NamingStrategyJPA, игнорируется аннотация столбца? Может диалект гибернации как-то здесь? Я подключаюсь к MS SQL 2014 Express, и мои журналы содержат:
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
@Column(name="...")аннотацию, например, когда вы используете тип доступа, отличный от ожидаемого, но здесь это не так.