web-dev-qa-db-fra.com

Causée par: org.hibernate.HibernateException: l'accès à DialectResolutionInfo ne peut pas être null lorsque l'option 'hibernate.dialect' n'est pas définie.

Je reçois une exception même après la définition de la propriété hibernate.dialect . J'utilise hibernate 5.0.11 avec spring boot 1.4.2 et la version 5.50

application.properties is like this

# Hibernate
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=true
hibernate.hbm2ddl.auto=validate

pom.xml 

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

Quel est le problème ici? 

5
praveen jain

L'ajout de la ligne suivante au fichier properties résout ce problème lorsque j'ai eu cette erreur.

spring.jpa.database=mysql
14
riorio

Je viens également d'avoir un problème similaire, mais je me suis rendu compte que je n'avais pas correctement personnalisé le champ du nom de la base de données en copiant-collant dans le fichier application.properties créé à partir du tutorial :

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword

Assurez-vous de remplacer db_examplespringuser et ThePassword par vos valeurs réelles.

Juste un moment "duh" pour moi-même, mais peut être utile à certains. 

1
NateH06

ajouter ce qui suit après avoir créé la configuration résout le problème:

configuration.configure("hibernate.cfg.xml");
0
Susanoo

Vous avez probablement déjà résolu ce problème, mais j'avais un problème similaire.

Ajouter une dépendance d'exécution explicite à mysql devrait résoudre le problème:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-Java</artifactId>
</dependency>

Cela permet à Spring Boot de configurer automatiquement les beans liés à jdbc en fonction de classpath.

0
Oleksandr Shpota