У меня есть приложение 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, установленного в EJB3NamingStrategy
JPA, игнорируется аннотация столбца? Может диалект гибернации как-то здесь? Я подключаюсь к MS SQL 2014 Express, и мои журналы содержат:
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
@Column(name="...")
аннотацию, например, когда вы используете тип доступа, отличный от ожидаемого, но здесь это не так.