Hibernate Dialect-Konfigurationsfehler: „hibernate.dialect“ nicht festgelegt
Problem:
Beim Ausführen von a Bei der Spring Boot-Anwendung, die den Ruhezustand verwendet, ist ein Fehler aufgetreten Angabe:
"org.hibernate.HibernateException: Der Zugriff auf DialectResolutionInfo darf nicht null sein, wenn 'hibernate.dialect' nicht festgelegt ist"
Ursache:
Die Hibernate-Konfiguration fehlt die Eigenschaft hibernate.dialect, die den zu verwendenden Datenbankdialekt angibt. Ohne diese Eigenschaft kann Hibernate den richtigen Dialekt nicht ermitteln und die Datenbankverbindung nicht herstellen.
Lösung:
1. Spring Boot-Anwendung:
Für Spring Boot-Anwendungen wird empfohlen, Anwendungseigenschaften oder YAML-Dateien zum Konfigurieren von Hibernate zu verwenden. Entfernen Sie die benutzerdefinierte Hibernate-Konfigurationsklasse (z. B. HibernateConfig) und fügen Sie die folgenden Eigenschaften zu Ihrer application.properties- oder application.yml-Datei hinzu:
# 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 konfiguriert automatisch eine SessionFactory mithilfe dieser Eigenschaften.
2. Java-Konfiguration:
Wenn Sie die Java-Konfiguration bevorzugen, entfernen Sie die Methode hibernateProperties() aus Ihrer HibernateConfig-Klasse und fügen Sie stattdessen den folgenden Code hinzu:
@Bean public HibernateJpaSessionFactoryBean sessionFactory(EntityManagerFactory emf) { HibernateJpaSessionFactoryBean factory = new HibernateJpaSessionFactoryBean(); factory.setEntityManagerFactory(emf); return factory; }
Dadurch wird eine erstellt SessionFactory, die die EntityManagerFactory umschließt. Sie können später mit „entityManagerFactory.unwrap(SessionFactory.class)“ auf die SessionFactory zugreifen.
Zusätzliche Hinweise:
Folgendes Mit diesen Schritten können Sie den Dialektkonfigurationsfehler beheben und mithilfe von Hibernate in Ihrer Spring Boot-Anwendung erfolgreich eine Datenbankverbindung herstellen.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „hibernate.dialect' von Hibernate, der in Spring Boot nicht festgelegt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!