Backend/Spring

[Spring Error] Error creating bean with name 'entitymanagerfactory' (feat. spring boot 3.0 과 mysql 연결)

mirae.kwak 2023. 5. 30. 21:09
728x90

시작

Spring Boot 3.0에서 MySQL을 연동하려고 보니 다음과 같은 에러가 발생했다. SpringBoot3.0으로 mysql을 연동한 예시가 많이 보이지 않아 뭐가 문제인지 알기 어려웠는데 해결하게 되어 관련 내용을 정리한다.

 

 

문제

다음에 나오는 포스팅대로 mysql 설정을 완료하였다. Run을 돌린 순간!

 

[Spring] Spring Boot 3.0.6 JPA에서 MySQL 연결하기

시작 Spring Boot 3.0으로 프로젝트를 진행하며 H2 DB를 연동하여 개발을 진행했는데, 백엔드 서버를 올리려고 하면서 MySQL과 연결을 시도했다. 스프링부트 3.0은 라이브러리 의존성이나 설정이 바뀌

miraekwak.tistory.com

 

Error creating bean with name 'entitymanagerfactory' 에러가 떴다. 관련 내용을 찾아보던 중 해결 방법을 알게되었다.

 

 

해결

application.yml에서 위 포스팅에 나오는 설정 말고 다음 설정을 추가했었다.

jpa:
    properties:
      hibernate:
        show_sql: true
        format_sql: true
        default_batch_fetch_size: 100
        dialect: org.hibernate.dialect.MySQL8InnoDBDialect
    hibernate:
      ddl-auto: update

 

여기서 저 dialect 설정이 문제였는데!! 저부분을 지우고 실행하니까 잘 동작했다.

 

Dialect 설정은 데이터베이스의 유형을 지정해주는 것이다. ORM을 통해 객체 맵핑에서 쿼리를 자동으로 생성해주는데, DBMS 종류에 따라 쿼리가 다르기 때문에 이를 설정해준다.

 

하지만 Spring Boot에서는 연결된 데이터베이스에 맞게 자동으로 Dialect를 지정해주기 때문에 수동으로 지정해줄 필요가 없다고 한다.

 

이 설정을 해준 분들이 계시다면 모두 지우세요....

 

 

MySQL연결이 잘 안돼서 저부분을 찾아 넣었던건데 뭐든 알고 써야 에러가 안난다는 것을 깨달았어요...

728x90