강의

멘토링

로드맵

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

승현님의 프로필 이미지
승현

작성한 질문수

애플리케이션 실행 시 오류 발생으로 질문 드립니다.

작성

·

1.6K

0

WARN 30752 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Class org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider does not implement the requested interface jakarta.persistence.spi.PersistenceProvider




호환성 문제인지 뭐가 문제인지 잘모르겠네요..

답변 1

0

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

승현님께서 말씀하신 오류는 Jakarta PersistenceHibernate 관련한 호환성 문제로 보입니다. Spring Boot 2.5 이상에서는 Jakarta EE 9의 jakarta.* 네임스페이스를 사용하기 시작했는데, 에러 메시지로 보아 Hibernate JPA 구현체가 이를 요구하는 jakarta.persistence.spi.PersistenceProvider 인터페이스를 구현하고 있지 않는 것으로 보입니다.

문제를 해결하기 위해 다음과 같은 접근을 시도해보실 수 있습니다.

  1. 프로젝트에 사용된 Hibernate의 버전이 Jakarta Persistence API를 지원하는지 확인해보세요.
  2. build.gradle 또는 pom.xml에 있는 Hibernate 관련 의존성이 최신 버전인지 점검하세요.
  3. Spring Boot 버전과 Hibernate 버전이 서로 호환 가능한지 검증하세요.

혹시 persistence.xml 설정파일을 사용하시는 경우, HibernateJpaPersistenceProvider 대신 SpringHibernateJpaPersistenceProvider를 사용하도록 확인해보세요.

또한, Spring Boot의 자동 설정 기능으로 인해 entityManagerFactory 빈이 잘못 구성되었을 수도 있으니, Spring Data JPA 설정이 올바른지도 확인하는 것이 좋을 것 같습니다. 에러가 발생한 entityManagerFactory에 대한 자세한 설정 방법은 아래의 Spring Boot 공식 문서를 참조해보세요.

Spring Boot Reference Documentation - JPA & Spring Data JPA

이 외에도, 문제가 해결되지 않으면, 추가적인 스택 트레이스(logs)나 설정 파일(application.properties 또는 application.yml)과 함께 구체적인 질문을 Stack Overflow에 spring-boot 태그를 달아 질문하시는 것도 좋은 방법입니다.

그럼 해결하시는데 도움이 되었길 바랍니다!

승현님의 프로필 이미지
승현

작성한 질문수

질문하기