「org.hibernate.HibernateException: 'hibernate.dialect' が設定されていない場合、DialectResolutionInfo へのアクセスは null にできません」を解決する方法?
エラー メッセージ「org.hibernate.HibernateException: DialectResolutionInfo にアクセスできません」 be null when 'hibernate.dialect' not set」は、Hibernate がデータベース方言を判断できない場合に発生します。これは通常、Hibernate 設定に hibernate.dialect プロパティが存在しないことが原因で発生します。この問題を解決する方法は次のとおりです:
1.カスタム Hibernate 構成の削除:
Spring Boot は Hibernate の自動構成を提供するため、アプリケーションでカスタム Hibernate 構成を定義していないことを確認します。 Spring Boot が必要な Bean を作成するため、sessionFactory() Bean を定義する @Configuration クラス (この例では HibernateConfig) を削除します。
2.データベース プロパティの追加:
application.properties ファイルに、データベースの詳細と Hibernate 構成を指定する次のプロパティを含めます:
spring.datasource.url=jdbc:postgresql://localhost:5432/teste?charSet=LATIN1 spring.datasource.username=klebermo spring.datasource.password=123 spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.jpa.show-sql=false spring.jpa.hibernate.ddl-auto=create
3. commons-dbcp 依存関係を削除します。
Spring Boot は、デフォルトでより効率的な HikariCP 依存関係を使用します。 pom.xml ファイルから commons-dbcp 依存関係を削除して、Spring Boot がデータベース接続プーリングを管理できるようにします。
4. Spring Boot バージョンの更新 (オプション):
Spring Boot の古いバージョンを使用している場合は、最新のバージョンにアップグレードして、最新の改善点を活用してください。 Spring Boot 2.x は、EntityManagerFactory の拡張機能である SessionFactory Bean をサポートします。 EntityManagerFactory をキャストするか、unwrap メソッドを使用して、SessionFactory を取得できます。
5. @SpringBootApplication:
を使用します。 Spring Boot のより新しいバージョンでは、複数のアノテーション (@Configuration、@EnableAutoConfiguration、および @ComponentScan) を使用する代わりに、単一の @SpringBootApplication アノテーションを使用できます。このアノテーションは、3 つのアノテーションすべての機能を組み合わせたものです。
更新されたアプリケーション クラスの例を次に示します:
@SpringBootApplication @ComponentScan("com.spring.app") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
以上が「org.hibernate.HibernateException: 「hibernate.dialect」が設定されていない場合、DialectResolutionInfo へのアクセスは null にできません」を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。