Maison >base de données >tutoriel mysql >Comment démarrer des applications Spring Boot sans dépendance à la base de données ?

Comment démarrer des applications Spring Boot sans dépendance à la base de données ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-09 00:26:02939parcourir

How to Start Spring Boot Applications without Database Dependency?

Démarrage des applications Spring Boot sans dépendance à la base de données

Pour garantir que les applications Spring Boot peuvent démarrer avec succès même en l'absence de base de données, certaines configurations doit être implémenté.

Exception rencontrée

Lors de la tentative de lancement de l'application sans base de données opérationnelle, l'exception suivante se produit :

org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

Cause

Cette erreur provient de la dépendance d'Hibernate à l'égard des métadonnées de la base de données pour déterminer le dialecte approprié pour l'exécution des instructions SQL. Sans connexion à la base de données, Hibernate ne peut pas obtenir ces informations.

Solution

Pour résoudre ce problème, les paramètres de configuration suivants doivent être inclus dans le fichier application.yml :

spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/schema
    username: root
    password: root
    continueOnError: true
    initialize: false
    initialSize: 0
    timeBetweenEvictionRunsMillis: 5000
    minEvictableIdleTimeMillis: 5000
    minIdle: 0

  jpa:
    show-sql: true
    hibernate:
      ddl-auto: none
      naming_strategy: org.hibernate.cfg.DefaultNamingStrategy
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5Dialect
        hbm2ddl:
          auto: none
        temp:
          use_jdbc_metadata_defaults: false

Ces paramètres configurent les éléments suivants :

  • Informations sur la source de données : Spécifiez les détails de connexion à la base de données. continueOnError garantit que l'application continue même si la base de données n'est pas disponible.
  • Initialize : False empêche l'application de créer automatiquement le schéma.
  • Propriétés de mise en veille prolongée :

    • Dialecte : Définissez manuellement le dialecte de la base de données pour surmonter les métadonnées manquantes.
    • hbm2ddl.auto : Réglez sur "aucun" pour désactiver la génération automatique de schéma.
    • temp.use_jdbc_metadata_defaults : Désactivez l'utilisation des métadonnées JDBC pour éviter l'exception.

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!

Déclaration:
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