Spring Hibernate 4到5升级问题-FK命名策略已更改

Spring Hibernate 4到5升级问题-FK命名策略已更改,spring,hibernate,jpa,spring-boot,Spring,Hibernate,Jpa,Spring Boot,Hibernate 4到5升级问题-FK命名已更改。H5->FK+{hash}而H4->FK+{different\u hash}。H5不识别任何H4 FK并重新创建all-由于表的大小,这在生产中不起作用。关于如何在H5中保持H4 FK命名策略,有什么意见吗?这是我在H5中的新配置,它保留了H4中的表/列名: hibernate: naming: implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStr

Hibernate 4到5升级问题-FK命名已更改。H5->FK+{hash}而H4->FK+{different\u hash}。H5不识别任何H4 FK并重新创建all-由于表的大小,这在生产中不起作用。关于如何在H5中保持H4 FK命名策略,有什么意见吗?这是我在H5中的新配置,它保留了H4中的表/列名:

hibernate:
  naming:
    implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
    physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
ddlAuto: update
如果要保留Hibernate 4约束名称,可以与Hibernate 5一起使用

请同时阅读此方法的局限性

在生产环境中不应使用ddl自动创建/更新。强烈建议不要这样做。尽管如此,如果我没记错的话,这方面还是有一些传统的策略。即使禁用ddlAuto(设置为“无”)也不起作用。H5不识别现有的H4外键约束(名称)并重新创建它们。我需要的是一种让H5识别现有FK约束的方法(由H4实施)。谢谢你查看。那么你还没有禁用它。。。而且ddlAuto不是启动属性,所以我猜它什么也不做。禁用ddl创建正是因为它不再创建ddl。如果它仍在创建内容,则不会禁用它。但很明显,你的生产系统依赖于此。