依存関係のある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をEJB3NamingStrategy
JPAに設定しないと列の注釈が無視されるのはなぜですか?冬眠の方言は何か関係があるのでしょうか?MS SQL 2014 Expressに接続していますが、ログには次のものが含まれています。
Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect
Using dialect: org.hibernate.dialect.SQLServerDialect
@Column(name="...")