[Spring Boot] 스프링 부트 리포지토리 인터페이스 설계- 11 (Repository)

권경환·2024년 3월 17일
0

JAVA

목록 보기
11/13
post-thumbnail

Spring Data JPA 리포지토리

스프링부트로 JpaRepository를 상속하는 인터페이스를 생성하면 기존의 다양한 메소드를 손쉽게 활용할 수 있습니다.

리포지토리 인터페이스

리포지토리란?
Spring Data JPA가 제공하는 인터페이스

리포지토리는 엔티티가 생성한 데이터베이스에 접근하는데 사용됩니다.
리포지토리를 생성하기 위해서는 접근하려는 테이블과 매핑되는 엔티티에 대한 인터페이스를 생성하고 JpaRepository를 상속 받으면 됩니다.

리포지토리 인터페이스 생성법

  1. maven 기준 pom.xml의 아래와 같이 의존성을 추가합니다.
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
  1. 엔티티를 만든 다음에 리포지토리 인터페이스를 생성하기 위해 패키지클래스를 생성합니다.
    저는 product 엔티티가 있다는 가정하에 data.repository 안에다가 생성하겠습니다.
    엔티티 생성 방법 링크
  2. 해당 클래스에서 아래와 같은 문법을 이용하여 인터페이스를 생성합니다.
    JpaRepository<사용하고싶은 모델 , 해당 모델의 Id 자료형>

예제코드

import com.springboot.study02.data.entity.Product;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProductRepository extends JpaRepository<Product, Long>{
}

리포지토리 생성 규칙

  • 생성된 Repository 인터페이스를 사용하여 CRUD 작업도 수행할 수 있습니다.

  • 리포지토리에서 기본적으로 제공하는 조회 메소드는 기본값으로 단일 조회하거나 전체 엔티티를 조회하는것만 지원하고 있기 때문에 필요에 따라 다른 조회 메소드가 필요합니다.

  • 메소드에 이름을 붙일때 첫 단어를 제외한 이후 단어들의 첫글자를 대문자로 설정해야 JPA에서 정상적으로 인식하고 쿼리를 자동으로 만들어줍니다.

profile
성장을 좋아하는 주니어 개발자의 블로그

0개의 댓글