작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
539
0
지금 강의 초반 애플리케이션 개발 쪽 듣고 있는데 이런 오류가 발생해서 글 남깁니다. 구글링도 해보고 챗 지피티 한테도 물어봤는데 여전히 해결이 안되고 있습니다....ㅜㅜㅜ
오류 내역은
->
2월 23, 2024 8:20:32 오후 jakarta.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver log
WARNING: jakarta.persistence.spi::No valid providers found.
Exception in thread "main" jakarta.persistence.PersistenceException: No Persistence provider for EntityManager named hello
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:86)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at hellojpa.JpaMain.main(JpaMain.java:7)
입니다.
아래에는 사진 첨부하겠습니다. pom.xml , persistence.xml 입니다제발 도와주세여ㅜㅜㅜㅜㅜㅜ,,,,흑훅
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 고도윤님, 제시해주신 문제에 대해 답변드리겠습니다.
오류 메시지 “No Persistence provider for EntityManager named hello”는 persistence.xml
파일에서 정의된 “hello” Persistence Unit에 대한 Persistence Provider가 찾을 수 없음을 의미합니다. 이 오류는 보통 persistence.xml
파일이 올바르게 설정되지 않았거나, 해당 프로젝트 빌드 경로에 포함되지 않았을 때 발생합니다.
문제 해결을 위해 다음의 확인 사항을 살펴보시기 바랍니다:
pom.xml
문제점: 특히 Maven 프로젝트에서는 의존성이 적절하게 명시되어 있는지, 그리고 각종 JPA 관련 라이브러리가 올바르게 추가되어 있는지 확인해야 합니다. Hibernate와 관련된 의존성이 질문에서 제시한 스크린샷과 같이 정확히 입력되었는지 점검해 보세요.
persistence.xml
위치: 이 파일은 프로젝트의 classpath 상에 존재해야 합니다. 일반적으로 src/main/resources/META-INF/persistence.xml
경로에 위치해야 합니다. 프로젝트 구조를 보여주시지 않아 정확한 경로를 말씀드리기는 어렵지만, 스크린샷상의 경로를 확인하여 올바른지 검토해보세요.
Persistence.createEntityManagerFactory
의 인수: 이 메서드에 전달되는 “hello” 값은 persistence.xml
에서 정의된 persistence-unit의 name 속성과 동일해야 합니다. 이 속성 값이 일치하는지 확인해보세요.
문제가 지속되는 경우, 실제로 동작하는 프로젝트 전체를 압축해서 구글 드라이브와 같은 공유 서비스를 통해 링크를 제공하는 것이 도움이 될 수 있습니다. 이를 통해 보다 구체적인 해결 방안을 찾거나 추가적인 도움을 제공받을 수 있습니다.
해결책을 찾고 계신다면, No Persistence provider for EntityManager named hello 오류에 관한 이전 질문과 그에 대한 답변을 참고하실 수 있습니다:
또한, 다음의 질문에서 추가적인 정보를 찾아볼 수 있습니다:
- Hibernate entity manager does not find persistence unit
- No Persistence provider for EntityManager named
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.