bugfix> hibernate > 投稿

従来のSpring 4.2.4/Hibernate 4.3アプリケーションをSpring Boot 2.0.2に移植しています。このアプリケーションは、HibernateのDefaultComponentSafeNamingStrategyを使用します。

Spring Boot 2/Hibernate 5.2では命名戦略が変更されました。新しい物理および暗黙の命名戦略を説明するドキュメントがたくさんありますが、どの命名戦略が古き良きDefaultComponentSafeNamingStrategyに置き換わるものであるかについての情報は見つかりませんでした。

すべてのテーブル、列などの名前が以前と同じように生成されることは明らかに非常に重要です。それが不可能な場合は、近い戦略と、過去に利用可能な戦略との違いについてのドキュメントをご覧ください。今のところ見つけられない運...

物事を理解するために、このアプリケーションのデータベースは約600のテーブルで構成されているため、すべてのテーブルと列のマッピングを行うには時間がかかります:(

従来の移行戦略からの移行に関する有用なドキュメントはありますか?独自の作成に頼る必要がありますか、それとも近づいて拡張可能な戦略がありますか?

回答 1 件
  • ネーミングに対するHibernate 5のアプローチを完全には理解していなかったことがわかりました。 DefaultComponentSafeNamingStrategyと同じマッピング戦略は、暗黙的および物理的な命名戦略を次のように構成することで実現できます。

    spring:
      jpa:
        hibernate:
          naming:
            implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl
            physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    
    

あなたの答え