Hibernate Dialect 構成エラー: 'hibernate.dialect' が設定されていません
問題:
Hibernate を使用する Spring Boot アプリケーションでエラーが発生する説明:
「org.hibernate.HibernateException: 'hibernate.dialect' が設定されていない場合、DialectResolutionInfo へのアクセスは null にできません」
原因:
Hibernate 構成使用するデータベース方言を指定する hibernate.dialect プロパティがありません。このプロパティがないと、Hibernate は正しい方言を判断してデータベース接続を確立できません。
解決策:
1. Spring Boot アプリケーション:
Spring Boot アプリケーションの場合、アプリケーション プロパティまたは YAML ファイルを使用して Hibernate を構成することをお勧めします。カスタム Hibernate 構成クラス (例: HibernateConfig) を削除し、次のプロパティを application.properties または application.yml ファイルに追加します。
# Database Configuration spring.datasource.url=jdbc:postgresql://localhost:5432/teste?charSet=LATIN1 spring.datasource.username=klebermo spring.datasource.password=123 # Hibernate Configuration spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.jpa.show-sql=false spring.jpa.hibernate.ddl-auto=create
Spring Boot は、これらのプロパティを使用して SessionFactory を自動的に構成します。
2. Java 構成:
Java 構成を使用する場合は、HibernateConfig クラスから hibernateProperties() メソッドを削除し、代わりに次のコードを追加します。
@Bean public HibernateJpaSessionFactoryBean sessionFactory(EntityManagerFactory emf) { HibernateJpaSessionFactoryBean factory = new HibernateJpaSessionFactoryBean(); factory.setEntityManagerFactory(emf); return factory; }
これにより、 EntityManagerFactory をラップする SessionFactory。後で、entityManagerFactory.unwrap(SessionFactory.class) を使用して SessionFactory にアクセスできます。
追加メモ:
次のようにします。これらの手順を実行すると、方言構成エラーを解決し、Spring Boot アプリケーションで Hibernate を使用してデータベース接続を正常に確立できます。
以上がSpring Boot で Hibernate の「hibernate.dialect」が設定されていないエラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。