>  기사  >  데이터 베이스  >  데이터베이스 종속성 없이 Spring Boot 애플리케이션을 시작하는 방법은 무엇입니까?

데이터베이스 종속성 없이 Spring Boot 애플리케이션을 시작하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-09 00:26:02878검색

How to Start Spring Boot Applications without Database Dependency?

데이터베이스 종속성 없이 Spring Boot 애플리케이션 시작

데이터베이스가 없어도 Spring Boot 애플리케이션이 성공적으로 시작될 수 있도록 하려면 특정 구성 구현해야 합니다.

예외 발생

운영 데이터베이스 없이 애플리케이션을 실행하려고 하면 다음 예외가 발생합니다.

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

원인

이 오류는 SQL 문 실행에 적합한 방언을 결정하기 위해 Hibernate가 데이터베이스 메타데이터에 의존하기 때문에 발생합니다. 데이터베이스 연결이 없으면 Hibernate는 이 정보를 얻을 수 없습니다.

해결 방법

이 문제를 해결하려면 다음 구성 설정이 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

이러한 설정은 다음을 구성합니다.

  • 데이터 소스 정보: 데이터베이스 연결 세부 정보를 지정합니다. continueOnError는 데이터베이스를 사용할 수 없는 경우에도 애플리케이션이 계속되도록 보장합니다.
  • Initialize: False는 애플리케이션이 자동으로 스키마를 생성하는 것을 방지합니다.
  • Hibernate 속성 :

    • 언어: 누락된 메타데이터를 극복하기 위해 데이터베이스 언어를 수동으로 설정합니다.
    • hbm2ddl.auto: 다음으로 설정합니다. 자동 스키마 생성을 비활성화하려면 "none"을 선택하세요.
    • temp.use_jdbc_metadata_defaults: 예외를 방지하려면 JDBC 메타데이터 사용을 비활성화하세요.

위 내용은 데이터베이스 종속성 없이 Spring Boot 애플리케이션을 시작하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.