Spring Boot JPA で列名の注釈が無視される
問題:
列の注釈を使用しているにもかかわらずdata-jpa 依存関係のある Spring Boot アプリケーションでは、生成された SQL テーブルの列名が注釈と異なります。
原因:
この動作は通常、Hibernate 方言によって引き起こされます。使用済み。 Hibernate 5 より前のバージョンでは、Hibernate は列名の先頭にアンダースコアを付けるデフォルトの命名戦略を使用します。この戦略をオーバーライドするには、命名戦略を明示的に指定する必要があります。
解決策:
Hibernate 4 の場合:
spring.jpa.hibernate.naming_strategy プロパティを org.hibernate.cfg.EJB3NamingStrategy:
<code class="properties">spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy</code>
Hibernate 5 の場合:
次の行をapplication.properties ファイル:
<code class="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</code>
これらの設定を使用すると、Hibernate はエンティティで指定された列の注釈を尊重する名前付け戦略を採用します。
以上が以下に、質問と問題を強調するタイトルのオプションをいくつか示します。 短く直接的: * Spring Boot JPA で列の注釈が無視されるのはなぜですか? * Spring Boot JPA: 列名が一致しませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。