我有一个带有依赖项的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="...")
注释,例如,当您使用非预期的访问类型时,但这不是这种情况。