Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set 에러

SaGo_MunGcci·2022년 8월 20일
0

Definition Access

  • 프로젝트를 8버전에서 11버전으로 업데이트 하면서 갑자기 에러가 발생했다.


Mechanism

  • 생각해봐도 원인을 알 수 없어 한참 생각했다.

  • 구글링해서 원인을 찾아보니 application-properties에 어떤 DB를 사용하는지 명시하지 않아서 발생한 오류 였다.

  • 인텔리제이 프로젝트 application.properties를 확인해 보니 db관련 설정이 빠져 있었다.

spring.jpa.show_sql=true
spring.jpa.properties.hibernate.format_sql=true

spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:springcoredb;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE

spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

spring.jpa.generate-ddl=true

spring.jpa.properties.hibernate.globally_quoted_identifiers=true
  • h2 기본 설정을 해주니 정상 작동함.

또다른 방법

  • application.properties에 spring.jpa.database='입력하고 "="뒤에 해당 db관련 코드를 입력해 주면 된다고 한다.

  • spring.jpa.database= 뒤에 ctrl + 스페이스바 하면 아래와 같은 창이 뜨면서 해당 db가 나온다. 프로젝트에 맞는 db를 선택하면 된다.



Retrospection

  • 항상 콘솔창의 오류코드를 잘 봐야 겠다는 생각을 했다.
  • 오류 코드만 잘 봐도 효율적으로 원인을 확인 할 수 있다는 것을 알게 되었다.


profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글