JPA

← 목록
1 / 1

JPA 추가하기 — MenuRepository 로 첫 API 만들기

대상 JdbcTemplate 실습을 마치고 Spring Boot 기본 구조와 3계층 구조를 아는 사람

목표 스프링 부트 webmvc 프로젝트에 JPA 를 추가하고 MenuRepository 를 통해 /api/v1/admin/menus API 를 구현한다

완성물 POST /api/v1/admin/menus 로 데이터를 저장하고 GET /api/v1/admin/menus 로 조회하는 실행 가능한 애플리케이션

  • Spring Boot 4.1, Java 21, Gradle 이 설치되어 있어야 한다.
  • Docker 가 실행되고 있고 PostgreSQL 컨테이너가 떠 있어야 한다.
  • application.properties 만 사용해봐서 YAML 형식은 처음인 상태다.
  • 패키지명은 com.new-cafe.backend 로 통일한다.

STEP 1 / 7JPA 의존성 추가

0개 완료 · 7개 남음

  1. 깔끔하게 새로 시작한 여러분의 조별 ncafe 프로젝트에 JPA 라이브러리 설정하고 데이터베이스를 사용해볼 차례이다.

    가장 먼저build.gradle 에 spring-boot-starter-data-jpa 를 추가한다. 이 의존성이 JPA 구현체(Hibernate) 와 Spring Data JPA 를 함께 가져온다.

    1-1. build.gradle 수정

    파일: build.gradle

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        runtimeOnly 'org.postgresql:postgresql'
        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
    }

    1-2. Gradle 동기화

    IDEA 또는 VSCode 의 Gradle 패널에서 "Sync" 버튼을 누르거나 터미널에서 아래 명령을 실행한다.

    ./gradlew dependencies --configuration runtimeClasspath | grep jpa

    Windows 는 gradlew.bat dependencies --configuration runtimeClasspath | findstr jpa

    ✅ 확인

    • 터미널에 org.hibernate.orm:hibernate-core 와 org.springframework.data:spring-data-jpa 가 출력된다.
    • IDE 의 External Libraries 에 hibernate-core 가 보인다.

    🎓 newlec 쌤의 코멘트

    spring-boot-starter-data-jpa 는 JPA 스펙을 구현하는 Hibernate 와, JPA 리포지토리를 자동 생성하는 Spring Data JPA 를 한 번에 가져온다. JdbcTemplate 실습 때처럼 spring-boot-starter-jdbc 만으로는 엔티티 매핑이나 리포지토리 인터페이스 자동 생성이 안 된다. 이 단계에서 의존성만 추가해도 아직 코드가 없으므로 에러는 안 난다.

    ❌ 자주 하는 실수

    증상 원인 해결
    Could not resolve org.springframework.boot:spring-boot-starter-data-jpa Gradle 캐시 문제 또는 네트워크 차단 ./gradlew clean 후 다시 동기화, 또는 프록시 설정 확인
    Lombok annotation processor not found Lombok 의존성 누락 compileOnly 와 annotationProcessor 두 줄 모두 확인

    📝 이 단계의 핵심

    • spring-boot-starter-data-jpa 가 Hibernate 와 Spring Data JPA 를 함께 가져온다.
    • 의존성 추가 후 반드시 Gradle 동기화를 해야 IDE 가 인식한다.

이어지는 내용은 회원만 볼 수 있어요

뉴렉처에 로그인하면 전체 학습 자료를 열람할 수 있습니다.

로그인하기