私のspringブートプロジェクトは、エンティティクラスでJPA
hibernateアノテーションを使用しています。 私は自分の汎用リポジトリを持っており、私はNOT
JPAのentityManagerFactoryからHibernate SessionFactoryを取得しています。 新しいテーブルと列が作成されると問題が発生します。キャメル列は、データベース上でアンダースコアで作成されます。 の名前付け方法をorg.hibernate.cfg.EJB3NamingStrategy
に変更しましたが、何も修正されていません。Hibernate 5のネーミング戦略を変更する+ spring boot + anootation
application.yml:
jpa:
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
show-sql: true
hibernate:
ddl-auto: update
naming-strategy: org.hibernate.cfg.EJB3NamingStrategy
は(EntityManagerを使用していない)私自身の一般的なリポジトリにHibernateセッションを取得するには:
@Autowired
public SessionFactory sessionFactory;
public Session getSession() {
try {
return sessionFactory.getCurrentSession();
} catch (HibernateException e) {
System.out.println(e.getMessage().toString());
}
return sessionFactory.openSession();
}
iはImplicitNamingStrategyJpaCompliantImpl
何も起こっを拡張するカスタムNamingStrategyをを作成するために使用されます!
何が間違っていますか?
What i want:
データベースでラクダに作成された列。テーブルも!あなたがここに見ることができるように
spring.jpa.hibernate.naming.implicit-strategy= # Hibernate 5 implicit naming strategy fully qualified name.
spring.jpa.hibernate.naming.physical-strategy= # Hibernate 5 physical naming strategy fully qualified name.
をここに参照してください:Hibernateは5で –