3

我正在将旧版 Spring 4.2.4 / Hibernate 4.3 应用程序移植到 Spring Boot 2.0.2。此应用程序使用 Hibernate 的 DefaultComponentSafeNamingStrategy。

Spring Boot 2 / Hibernate 5.2 更改了命名策略。有很多文档解释了新的物理和隐式命名策略,但我还没有找到任何关于哪种命名策略可以替代旧的 DefaultComponentSafeNamingStrategy 的信息。

很明显,所有表、列等名称都像往常一样生成。如果这不可能,我希望看到一些接近的策略文档,以及它们与过去可用的策略有何不同。到目前为止没有找到任何运气......

从长远来看,这个应用程序的数据库由近 600 个表组成,因此遍历每个表和列的映射需要很长时间 :(

是否有任何有用的文档可用于从旧迁移策略迁移?我应该求助于创建自己的策略,还是有一种接近并可以扩展的策略?

4

1 回答 1

2

原来我并不完全理解 Hibernate 5 的命名方法。可以通过如下配置隐式和物理命名策略来实现与 DefaultComponentSafeNamingStrategy 相同的映射策略:

spring:
  jpa:
    hibernate:
      naming:
        implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
于 2018-05-27T15:56:06.183 回答