작성
·
188
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
강의를 들으면서 느끼는데, 이렇게 순수 JPA기반 리포지토리로 저가 전부다 CRUD를 다 작성하고 해야하는데,JpaRepository를 그냥 상속하면 간단한 메서드로 다 구현이 가능하고 복잡한 내용은 @Query를 사용해서 쿼리를 작성하면 끝이 아닌가..? 라는 생각이 갑자기 들어서 질문을 합니다ㅜㅜ. 순수 JPA기반 리포지토리로 사용하는 이유가 뭘까요 실무에서는 어떻게 사용을 많이 하는 건가여?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
답변 2
0
안녕하세요. wngus4278님, 공식 서포터즈 OMG입니다.
자바&객체지향에 대한 개념이 갖춰지지 않은 채로 스프링을 배우는 것과
DB(SQL)에 대한 개념이 없는채로 JPA를 배우기란 쉽지 않다라는 것은 이해하실 거라 생각합니다.
스프링데이터JPA(JpaRepository)도 마찬가지입니다. 스프링데이터 JPA의 단순 사용법만은 쉽게 익힐 수 있습니다만, 이를 깊게 활용하기 위해선 내부에서 어떠한 프로세스로 스프링데이터JPA가 돌아가는지를 알아야합니다.
그걸 배우기 위한 과정이 JPA 로드맵의 JPA기본편과 활용편 강의 입니다 😀
실무에서는 순수 JPA를 사용하는 경우는 거의 없는것으로 알고 있으며, 사용한다면 스프링데이터JPA를 사용합니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. wngus4278님의 질문은 순수 JPA 기반 리포지토리와 스프링 데이터 기반 리포지토리의 사용 사례와 차이에 대한 것으로 이해됩니다.
JPA와 스프링 데이터 JPA는 데이터 접근 계층을 구성하는 방법에서 각각 특색을 가지고 있습니다. 순수 JPA 기반 리포지토리에서는 개발자가 EntityManager
를 사용하여 CRUD 등의 기능을 직접 구현해야 합니다. 반면, 스프링 데이터 JPA를 사용하면, JpaRepository
인터페이스를 확장하여 기본적인 CRUD 작업을 위한 메소드들이 미리 구현되어 있어 @Query
어노테이션을 통해 복잡한 구현 없이도 쿼리 메소드를 정의할 수 있는 편리함이 있습니다.
실무에서는 둘 중 어떤 방식을 사용하느냐는 프로젝트의 요구사항과 개발 팀의 선호도에 따라 결정됩니다. 순수 JPA의 경우, JPA 자체를 더 깊이 이해할 수 있으며, 스프링 데이터 JPA의 자동 구현에 의존하지 않고 좀 더 세밀한 데이터 접근 제어가 가능합니다. 반면, 스프링 데이터 JPA는 개발 속도가 빠르고 편리하지만, 때로는 제공하지 않는 기능에 대해 직접 구현해야 하는 경우가 생길 수 있습니다.
관련된 질문과 답변이 다수 있으니, 아래의 답변들을 참고하시면 좋을 것 같습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.