1 minute read

빌드 에러

💡 Error creating bean with name 'entityManagerFactory' defined in class path resource


image

해결 방법

Error creating bean with name 'entityManagerFactory' defined in class path resource 는 Spring Framework에서 JPA (Java Persistence API)를 사용할 때 발생하는 일반적인 오류 메시지 중 하나 이다.
해당 오류 메시지는 Spring이 entityManagerFactory 빈(bean)을 생성하는 과정에서 문제가 발생했음을 나타내는데 원인이 될 수 있는 몇가지의 경우를 찾아서 정리해보았다.

  1. 데이터 소스 설정 오류: application.properties 또는 application.yml 파일에 데이터베이스 연결 정보(DB URL, 사용자 이름, 비밀번호 등)가 잘못 설정되었을 수 있다.
  2. JPA 엔터티 매핑 오류: 엔터티 클래스에 어노테이션 설정이 잘못되었거나, 관계 매핑이 올바르지 않을 수 있다.
  3. 테이블 및 엔터티 불일치: 데이터베이스의 테이블 구조와 JPA 엔터티가 일치하지 않는 경우.
  4. Hibernate 버전 불일치: 사용중인 Hibernate와 JPA 사이의 버전 호환성 문제.
  5. 필요한 라이브러리 누락: 프로젝트의 classpath에 필요한 라이브러리가 누락되었거나, 충돌하는 버전의 라이브러리가 있을 수 있다.
  6. Spring Configuration 오류: Spring 설정에 오류가 있을 수 있습니다. 예를 들어, Java Config 또는 XML 설정에서 entityManagerFactory 또는 transactionManager의 구성이 잘못되었을 수 있다.

이렇게 여러 원인 들이 있는 와중에 나의 경우는 데스크탑으로 빌드 했을 땐 정상적으로 빌드 되었지만, 노트북으로 작업하려니 오류가 발생한 부분을 보아 데이터베이스 연결 오류라고 짐작하였고, 아니나 다를까 데이터베이스 정보가 정확하게 작성되어있지 않았던 점에서 해당 오류가 발생한 것이다.


image

해결 방법으로는 apllication.yml 파일의 데이터 베이스 유저 정보와 패스워드를 수정해주었고, board DB도 생성해주었다

image

다음으로는 인텔리제이 데이터 베이스 프로퍼티를 확인하고 나의 db정보와 유저정보가 일치 하게끔 커넥팅 해주었다.

image

그 후 빌드를 해보면 정상적으로 빌드가 된다.

해당 에러를 해결하면서 느낀점은 에러를 방지하기 위해선 스탭 1부터 꼼꼼하게 확인하고 진행해야된다 것을 또 한번 느낄 수 있었다. 해당 에러는 금방 해결했지만, 별거 아닌 에러도 이렇게 글로 작성해서 기록해두면 추 후 개발시에 해당 오류를 사전에 방지하지 않을까 싶어 해당 글을 작성해본다.

Leave a comment