Maison > Java > javaDidacticiel > le corps du texte

Comment réparer \'org.hibernate.HibernateException : l'accès à DialectResolutionInfo ne peut pas être nul lorsque \'hibernate.dialect\' n'est pas défini\' ?

Linda Hamilton
Libérer: 2024-11-25 08:03:11
original
268 Les gens l'ont consulté

How to Fix

Comment résoudre "org.hibernate.HibernateException : l'accès à DialectResolutionInfo ne peut pas être nul lorsque 'hibernate.dialect' n'est pas défini" ?

Le message d'erreur "org.hibernate.HibernateException : l'accès à DialectResolutionInfo ne peut pas être nul lorsque 'hibernate.dialect' ne l'est pas. set" se produit lorsqu'Hibernate ne parvient pas à déterminer le dialecte de la base de données. Ceci est généralement dû à l'absence de la propriété hibernate.dialect dans la configuration Hibernate. Voici comment résoudre ce problème :

1. Supprimer la configuration Hibernate personnalisée :

Assurez-vous de ne définir aucune configuration Hibernate personnalisée dans votre application, car Spring Boot fournit une configuration automatique pour Hibernate. Supprimez la classe @Configuration (HibernateConfig dans votre exemple) qui définit le bean sessionFactory(), car Spring Boot créera les beans requis pour vous.

2. Ajouter des propriétés de base de données :

Dans votre fichier application.properties, incluez les propriétés suivantes pour spécifier les détails de votre base de données et la configuration d'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
Copier après la connexion

3. Supprimez la dépendance commons-dbcp :

Spring Boot utilise par défaut la dépendance HikariCP plus efficace. Supprimez la dépendance commons-dbcp de votre fichier pom.xml pour permettre à Spring Boot de gérer le pool de connexions à la base de données.

4. Mettre à jour la version de Spring Boot (facultatif) :

Si vous utilisez une ancienne version de Spring Boot, effectuez une mise à niveau vers une version plus récente pour tirer parti des dernières améliorations. Spring Boot 2.x prend en charge le bean SessionFactory en tant qu'extension d'EntityManagerFactory. Vous pouvez obtenir une SessionFactory en lançant EntityManagerFactory ou en utilisant la méthode unwrap.

5. Utilisez @SpringBootApplication :

Au lieu d'utiliser plusieurs annotations (@Configuration, @EnableAutoConfiguration et @ComponentScan), vous pouvez utiliser une seule annotation @SpringBootApplication dans les versions plus récentes de Spring Boot. Cette annotation combine les fonctionnalités des trois annotations.

Voici un exemple de classe d'application mise à jour :

@SpringBootApplication
@ComponentScan("com.spring.app")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal