Error Log

entities share the same JPA entity name

Subi 2022. 7. 7. 15:27

김영한 님의 

실전! 스프링 부트와 JPA 활용1 을 들으며 실제로 따라서 해보고 있던 중

localhost로 서버를 실행시켰더니 한가지 에러에 직면하였다.

에러는

 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.DuplicateMappingException: The [jpabook.jpashop.Member] and [jpabook.jpashop.domain.Member] entities share the same JPA entity name: [Member] which is not allowed!

 

해석을 해보니 

[jpabook.jpashop.Member] 의 경로와

[jpabook.jpashop.domain.Member] 의 경로에

Member.Entity가 중복이 되어 실행을 할 수 없다는 내용 이였다.

하지만 [jpabook.jpashop.Member] 의 Member Entity는 저번 강의에서 임시로 실행을 시키기 위해 잠시 만들었고

요번 강의 첫 시작에 지워서 파일이 없는데 에러가 난 것이였다.

혹시나 안지워졌나 살펴봐도 여전히 지워져있었는데

다시 실행을 해보고 인텔리제이를 재실행 시켜도 여전히 같은 에러가 발생하고 있어서 열심히 찾아봤더니,IntelliJ 내의 Local Cache가 남아있어 에러가 발생한 히스토리가 있었다는 글을 보게 되었고,바로 IntelliJ 에서 Cache를 지워보게 되었다.

먼저 File 에서 Invalidate Caches 메뉴에 들어가고

체크박스는

1. 파일 시스템 캐시 및 로컬 히스토리 지우기

2. VCS 로그 캐시 및 인덱스 지우기

3. 다운로드한 공유 인덱스를 제외된 것으로 표시 ( 제외된 공유 인덱스를 다시 다운로드하지 않음)

4. 새 공유 인덱스를 다운로드 하기 전에 확인

출저 :https://www.jetbrains.com/help/idea/invalidate-caches.html

 

이 창이 뜨면 지우고 싶은 체크박스를 선택해 Invalidate and Restart를 누르면
IntelliJ 에서 Chache를 지우고 자동으로 Restart하게 된다.

 

다시 Restart 된 IntelliJ 로 서버를 실행 시켜보니

 

 

깔끔~