그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록JPA
JPA

JPA를 사용하는 이유를 설명해주세요

실무4/5
설계4/5
인간4/5
기초2/5

면접관의 질문 의도

"편리하다"로 끝내는지, 추상화 비용까지 보고 도입 조건을 말할 수 있는지를 가른다.

큐레이션 답변

학습 자료

JPA를 쓰면 객체 그래프 중심으로 데이터 접근을 설계하고 영속성·변경 감지·트랜잭션 연동 같은 반복 작업을 프레임워크에 맡길 수 있다. 특히 Spring Data JPA는 리포지토리 인터페이스, 메서드명 기반 쿼리, @Query, Pageable·Auditing 같은 공통 요구를 한 번에 묶어 DAO 구현 부담을 크게 낮춘다. 단 영속성 컨텍스트·지연 로딩·N+1 같은 _프레임워크가 가린 비용_이 따라오므로, 도메인 중심 이득과 추상화 비용을 함께 본 뒤 도입을 결정한다. 즉 "빠르다 vs 느리다"가 아니라 "어디까지 추상화에 맡길지"의 판단이다.

좋은 답변 구조

  1. 01JDBC 직사용·MyBatis·JPA·Spring Data JPA라는 대안 축을 먼저 정리한다
  2. 02도메인 중심 개발/변경 감지/공통 기능 같은 JPA 이득을 짚는다
  3. 03지연 로딩·N+1·복잡 쿼리 한계처럼 _컨텍스트에 따라 결론이 바뀌는 비용_을 함께 본다
  4. 04팀 도메인 복잡도·쓰기 비중·SQL 가시성 요구에 맞춘 최종 기준으로 마무리한다

자주 실수하는 포인트

JPA를 "성능이 빠른 기술"로 단정한다
Spring Data JPA와 JPA(명세) 자체를 같은 의미로 섞는다
복잡한 통계 쿼리·대량 배치에서 JPA만으로 대응하려 한다
도입 이득만 말하고 영속성 컨텍스트·지연 로딩 비용을 빠뜨린다

실무 맥락

  • CRUD 비중이 높은 백오피스/API 서버를 빠르게 시작해야 하는 초기 단계
  • 다수 개발자가 리포지토리 계층을 손대 표준화가 필요한 팀
  • 통계·집계 쿼리 비중이 커서 JPA와 QueryDSL/Native를 섞어 써야 하는 서비스

본인 경험에 녹이는 힌트

JDBC/MyBatis 프로젝트를 JPA로 전환한 경험이 있다면 줄어든 코드량과 새로 생긴 쿼리 튜닝 이슈를 균형 있게 연결할 수 있다

복잡 통계 쿼리만 QueryDSL/Native로 빼본 적이 있다면 _층별 선택_의 기준을 답변 후크로 쓸 수 있다

팀 리포지토리 컨벤션을 정해본 적이 있다면 어떤 케이스에 @Query를 허용했는지로 말할 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1JPA 도입 시 성능 이슈는 어떻게 관리하나요
Q2복잡한 조회는 어떤 방식으로 보완하나요
Q3Spring Data JPA 메서드명 쿼리의 한계는 무엇인가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문