我有一个依赖的Spring Boot应用程序spring-boot-starter-data-jpa.我的实体类有一个带有列名的列注释.例如:
@Column(name="TestName")
private String testName;
Run Code Online (Sandbox Code Playgroud)
由此生成的SQL创建test_name为列名.在寻找解决方案后,我发现spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy解决了问题(列名取自列注释).
不过,我的问题是为什么没有设置为EJB3NamingStrategyJPA的naming_strategy 忽略列注释?也许hibernate方言与它有关?我正在连接到MS SQL 2014 Express,我的日志包含:
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
Run Code Online (Sandbox Code Playgroud)