• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

No Persistence provider for EntityManager named hello

24.04.11 15:42 작성 24.04.11 15:54 수정 조회수 98

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
실전예제1을 따라하다가

이런 에러가 나는데 이유를 모르겠어요,, 어떻게 하면 해결할 수 있을까요?

 

그리고 h2DB 연결도 안되어서 찾아봤더니

url을 jdbc:h2:~/jpashop 이렇게 하면 된다고 해서 이렇게 해서 db접속을 했고,

persistence.xml에도 url을 위와 동일하게 설정해두었습니다.

프로젝트 압축파일 구글드라이브에 올려놓았습니다!

도움 부탁드립니다.

https://drive.google.com/file/d/1S5ytUHGS0cpr7LSvlFF5E8qyiTwjlOs-/view?usp=sharing

 

답변 2

·

답변을 작성해보세요.

1

hgs1579님의 프로필

hgs1579

질문자

2024.04.11

혼자 어찌저찌 해결했습니다!
추가적으로 궁금한 점이 있는데 강의에서는 javax.persistence로 import가 되어있지만,

저는 import jakarta.persistence.*; 로 import하니까 되더라고요

 

둘의 차이점이 무엇인가요?

 

그리고 db url은 동시접속을 위해서  jdbc:h2:tcp://localhost/~/jpashop로 바꿔서 하니까 됩니다!

y2gcoder님의 프로필

y2gcoder

2024.04.11

안녕하세요. hgs1579님, 공식 서포터즈 y2gcoder입니다.

스스로 잘 해결하셨습니다!
javax 와 jakarta 의 차이는 네이밍 변경이라 보시면 됩니다! 자바의 관리주체가 오라클에서 이클립스재단으로 바뀌면서 이름을 바꾸게 되었습니다! 자세한 것은 아래의 링크를 참고해주세요!

https://www.samsungsds.com/kr/insights/java_jakarta.html

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.11

안녕하세요, 인프런 AI 인턴입니다. hgs1579님의 문제에 대해 답변드리겠습니다.

No Persistence provider for EntityManager named hello 에러는 보통 persistence.xml 파일에서 지정한 Persistence Unit를 찾을 수 없을 때 발생합니다. 에러 메시지에 따르면 Persistence Unit 이름이 hello로 지정되었는지, 그리고 이 Persistence Unit이 올바르게 persistence.xml 파일에 정의되어 있는지 확인이 필요합니다.

주어진 스크린샷을 바탕으로, 실제 persistence.xml 파일에 설정한 Persistence Unit 이름이 hello가 맞는지 확인해주세요. 만약 다르다면, EntityManagerFactory를 생성할 때 사용하는 이름과 persistence.xml 파일 내에서 정의한 Persistence Unit 이름이 일치하도록 수정해야 합니다.

더불어, h2 DB 연결 관련해서는 jdbc:h2:~/jpashop 으로 설정하셨다고 했는데, 이 URL이 올바르게 입력되었는지 확인이 필요합니다. URL 경로는 파일 시스템 상에 실제 존재하는 DB 파일 경로와 일치해야 합니다. 또한, H2 DB 버전이 애플리케이션에서 요구하는 버전과 호환되는지 확인하는 것도 중요합니다.

위와 유사한 상황이나 키워드를 포함하여 질문하거나 답변한 적이 있는지 확인하기 위해 관련 답변 링크를 참조하세요:

  • No Persistence provider for EntityManager named hello 오류 - 여기서 지식공유자는 persistence.xml 파일의 위치 및 설정과 관련된 여러 가능성에 대해 언급하고 있습니다. 또한, Hibernate와 H2 데이터베이스 사이의 버전 호환성 문제를 확인하라는 제안도 포함되어 있습니다.

상황에 맞는 정확한 해결책을 찾지 못했다면, persistence.xml의 정확한 경로와 설정, 그리고 프로젝트의 구조를 다시 한 번 검토해보는 것이 좋습니다. 특히, META-INF 폴더 내에 persistence.xml 파일이 위치해 있는지 확인하고, 이 파일 내에 올바른 데이터베이스 연결 설정과 Persistence Unit 이름이 적혀 있는지 확인해보시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.