Spring Boot + JPA:列名注释被忽略

我有一个带有依赖项的Spring Boot" title="Spring Boot">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会忽略列注释?也许hibernate方言与此有关?我正在连接到MS

SQL 2014 Express,我的日志包含:

Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect

Using dialect: org.hibernate.dialect.SQLServerDialect

回答:

对于hibernate5,我通过将下一行放在application.properties文件中解决了此问题:

spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

以上是 Spring Boot + JPA:列名注释被忽略 的全部内容, 来源链接: utcz.com/qa/414151.html

回到顶部