본문 바로가기
Spring/관련 지식

JPA(Java Persistence API)에 대한 간단한 정리

by 정구정구 2026. 5. 13.

 

JPA란?

  • 자바 객체와 데이터베이스를 연결해주는 기술
  • DB를 객체처럼 다룰 수 있게 해주는 기술

 

JPA의 핵심 개념 1 : ORM(Object Relational Mapping)

  • 객체와 관계형 DB를 매핑하는 기술
  • 자바는 객체 지향이고 DB는 테이블 구조이므로 이 두 구조를 연결해주는 기술이 필요함
  • DB 테이블과 연결되는 객체를 Entity라고 부름

 

JPA의 핵심 개념 2 : 영속성 컨텍스트 (Persistence Context)

  • 현재 DB와 Entity의 상태를 같게 유지하는 기술
  • 변경 감지(Dirty Checking)를 통해 Entity의 값이 변하면 자동으로 DB 값을 변경

 

JPA의 장점

  • 생산성 증가
  • 객체 중심 개발 가능
  • 유지보수 편리
  • Spring 백엔드 실무에서 표준으로 쓰임

 

JPA의 단점

  • ORM, 영속성 컨텍스트 등 기술에 대한 이해
  • Lazy Loading
  • N+1 문제
  • 성능 최적화
  • 복잡한 쿼리

 

사용 방법

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

 

위와 같이 build.gradle의 dependencies에 jpa 선언 후

public interface ProductRepository
        extends JpaRepository<Product, Long> {
}

 

위와 같이 repository에 extends JpaRepository만 선언해줘도 저장, 조회, 수정, 삭제가 자동으로 구현된다.