인프런 커뮤니티 질문&답변

cowldnd123님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

h2 데이터베이스 연결

작성

·

56

0

 

h2 데이터베이스 연결이 자꾸 안된다고 뜹니다...

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)

 

답변 2

0

안녕하세요. cowldnd123님, 공식 서포터즈 David입니다.

아래와 같이 방언을 지정하신 뒤 다시 시도해 보시겠어요?

spring:
  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. cowldnd123님.

질문주신 내용과 올려주신 이미지로 보아, 현재 Spring Boot와 H2 데이터베이스 연결 설정에서 문제가 발생하는 것 같습니다. 주로 연결 설정이 맞지 않아서 나타나는 에러로 판단됩니다. 이를 해결하기 위해 기존의 유사한 질문들에 대한 답변을 참고하시면 도움이 될 것입니다.

관련된 유사 질문과 해결 방안:

  1. h2 연결시 테이블 생성 안됨

    • 이 게시물에서는 h2 데이터베이스 연결 설정 문제와 해결 방안에 대해 설명합니다.
  2. MemberServiceIntegrationTest 에서의 에러메세지

    • 이 게시물 역시 H2 데이터베이스 연결 설정에 대한 문제를 다루고 있으며, 설정 방법에 대한 구체적인 설명이 포함되어 있습니다.

문제 해결을 위한 추가 안내:

  1. application.yml 설정 확인:

    • 올려주신 설정 파일을 보면 JDBC URL 중에 경로 설정에서 문제가 있을 수 있습니다. 아래는 설정 예시입니다.
    spring:
     datasource:
       url: jdbc:h2:tcp://localhost/~/demo
       username: sa
       password: 
       driver-class-name: org.h2.Driver
     jpa:
       hibernate:
         ddl-auto: create
       properties:
         hibernate:
           show_sql: true
           format_sql: true
    
  2. H2 데이터베이스 서버 상태 확인:

    • H2 데이터베이스가 현재 TCP 서버 모드에서 실행 중인지 확인합니다. h2 설치 폴더의 bin 디렉토리에서 h2.sh 또는 h2.bat 파일을 실행하여 서버 모드로 H2를 시작할 수 있습니다.
   ./h2.sh -tcp -tcpAllowOthers
  1. H2 콘솔로 접속 테스트:
    • H2 콘솔의 URL 입력란에 jdbc:h2:tcp://localhost/~/demo를 입력한 후 제대로 접속되는지 테스트해 보시기 바랍니다.

추가 참고 자료:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.