Spring Boot

[SPRING] java.lang.ClassNotFoundException: Could not load requested class : org.hibernate.dialect.MySQL5InnoDBDialect

재원쓰 2022. 12. 19. 17:01

H2 콘솔을 사용하다가 AWS에서 만든 DB RDS로 바꾸니 일어난 에러이다.

 

찾아보니 dialect라는 것이 '방언' 이라는 뜻을 가지고 있는데, MySQL이 JPA 방언을 인식하지 못하는 상황이 발생한 것이다.

원래는 따로 설정이 없어도 MySQL이 방언을 이해할 수 있었는데, 자바 버전이 올라감에 따라(현재 프로젝트 버전 3.0.0) 수동으로 설정을 해주지 않으면 방언을 이해하지 못하게 된 것 같다.

 

application.properties에 아래 코드만 추가했을 때 에러가 발생했다.

spring.datasource.url=jdbc:mysql://springboot-db.cxtctpbh0bfs.ap-northeast-2.rds.amazonaws.com:3306/myselectshop
spring.datasource.username=admin
spring.datasource.password=skdml123
spring.jpa.hibernate.ddl-auto=update

 

여기에 추가로 dialect 설정을 추가해줬다.

spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect  👈 이부분이 핵심!
spring.jpa.properties.hibernate.dialect.storage_engine=innodb 👈 이부분이 핵심!
spring.sesion.store-type=jdbc

 

 


참고

https://cyeongy.tistory.com/entry/springjpapropertieshibernatedialect-orghibernatedialectmysql5innodbdialect-%EC%82%AC%EC%9A%A9-%EB%B6%88%EA%B0%80-Deprecated-%EB%AC%B8%EC%A0%9C

 

spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.mysql5innodbdialect 사용 불가, Deprecated 문제

SpringBoot 2.6.2를 사용하면서 Hibernate 쿼리를 MySQL 쿼리로 변환하는 아래의 config가 Deprecated 되어 에러가 발생했다. spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.mysql5innodbdialect 해당 문제를 구글

cyeongy.tistory.com

https://github.com/jojoldu/freelec-springboot2-webservice/issues/67

 

P.100 properties 추가 시 작동 오류 · Issue #67 · jojoldu/freelec-springboot2-webservice

안녕하세요~ 조졸두님 책으로 공부하고 있는 베니라고 합니다! 100 페이지에서 application.properties에 MySQL5InnoDBDialect 추가 시 밑에 이미지와 같이 나오고 있습니다! 그리고 해당 클래스를 보면 /** A D

github.com