Heim  >  Artikel  >  Datenbank  >  So starten Sie eine Spring Boot-App ohne Datenbank: Überwinden Sie das Problem „hibernate.temp.use_jdbc_metadata_defaults'?

So starten Sie eine Spring Boot-App ohne Datenbank: Überwinden Sie das Problem „hibernate.temp.use_jdbc_metadata_defaults'?

DDD
DDDOriginal
2024-11-08 04:57:02689Durchsuche

How to Start a Spring Boot App Without a Database: Overcoming the `hibernate.temp.use_jdbc_metadata_defaults` Issue?

So starten Sie die Spring-Boot-App ohne Datenbankabhängigkeit

Problem

Spring-Boot Bei Anwendungen, die von einer Datenbank abhängig sind, können Probleme auftreten, wenn die Datenbank nicht verfügbar ist. Dies führt zu einer Ausnahme im Zusammenhang mit der Eigenschaft hibernate.temp.use_jdbc_metadata_defaults. Das Festlegen dieser Eigenschaft in der application.yml-Datei wirkt sich nicht zur Laufzeit aus.

Lösung

Um eine Spring-Boot-Anwendung auch ohne Datenbank zu starten, konfigurieren Sie Folgendes Einstellungen in 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

Schlüsselkonfiguration:

  • continueOnError: true – Wird fortgesetzt, auch wenn die Datenbankverbindung fehlschlägt.
  • initialize: false – Initialisiert den Verbindungspool beim Start nicht.
  • initialSize: 0 – Initialisiert einen leeren Verbindungspool.
  • hibernate.temp.use_jdbc_metadata_defaults: false – Gibt an, dass das Datenbankschema nicht automatisch aus den JDBC-Metadaten erfasst werden soll.

Bei diesen Konfigurationen ist der Spring-Boot Die Anwendung startet ohne die Datenbank, initialisiert die Verbindung, wenn die Datenbank verfügbar ist, und verarbeitet Datenbankausfälle nahtlos, ohne dass ein Neustart oder eine erneute Bereitstellung erforderlich ist.

Das obige ist der detaillierte Inhalt vonSo starten Sie eine Spring Boot-App ohne Datenbank: Überwinden Sie das Problem „hibernate.temp.use_jdbc_metadata_defaults'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn