[Spring Boot + JPA + Gradle] 에러 'entityManagerFactory' defined in class path resource

Jiisuniui·2023년 3월 1일
0

에러메세지

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'entityManagerFactory' defined in class path resource 
[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]
: Bean instantiation via factory method failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to instantiate 
[org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]
: Factory method 'entityManagerFactory' threw exception; 
nested exception is java.lang.RuntimeException
: Driver com.mysql.cj.jdbc.Driver claims to not accept jdbcUrl, jdbc:mysql:://localhost:3306/db_name

를 잘 읽어보면 Driver com.mysql.cj.jdbc.Driver claims to not accept jdbcUrl 라는 문장을 볼 수 있다.

해결방법

에러
spring.datasource.url=jdbc:mysql:://localhost:3306/db_name

해결
spring.datasource.url=jdbc:mysql:/localhost:3306/db_name
  1. application.properties에서 설정한 url에 오타 없는지 확인.
  2. localhost의 경우 jdbc:mysql:/localhost... 로 써야한다. (mysql 뒤의 :가 한개)

그 외 해결방법

1. entityManagerFactory : Entity ID 참조 문제

에러
org.springframework.data.annotation.Id

해결
javax.persistence.Id

2. Error creating bean entityManagerFactory : javassist가 필요함

implementation group: 'org.javassist', name: 'javassist', version: '3.15.0-GA'

buile.gradle에 위 문장 추가

3. db version 낮춤 or 변경

profile
why error?

0개의 댓글