본문 바로가기

프로그래밍/- Spring

[ 스프링 DB 접근 기술 ] 스프링 데이터 JPA

 

 

 

스프링 데이터 JPA

 

➡️ 스프링 데이터 JPA를 사용하면 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발 완료 가능

  🔸반복 개발해온 기본 CRUD 기능도 모두 제공

  🔸개발 코드가 줄어들어 개발자는 핵심 비즈니스 로직을 개발하는데 집중 가능

  🔸실무에서 관계형 데이터베이스를 사용한다면 스프링 데이터 JPA는 필수   

  🔸JPA의 도구일 뿐이기 때문에 JPA를 반드시 제대로 습득하고 사용할 것을 권장

 

 

➡️ 스프링 데이터 JPA의 제공 클래스

 

➡️ 스프링 데이터 JPA 제공 기능

  🔸인터페이스를 통한 기본적인 CRUD

  🔸스프링 빈에 따로 등록할 필요 없이 스프링 데이터 JPA가 자동으로 구현체 만들어 등록

 

  🔸메서드 이름만으로 조회 기능 제공 (ex : findByName())

  🔸페이징 기능 자동 제공

package hello.hellospring.repository;

import hello.hellospring.domain.Member;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.Optional;

public interface SpringDataJpaMemberRepository extends JpaRepository<Member, Long>, MemberRepository{
    // 스프링 데이터 JPA가 구현체를 만들어 스프링 빈에 등록해줌
    // 기본적인 CRUD와 같은 기능을 JpaRepository에서 제공해줌

    @Override
    Optional<Member> findByName(String name);   // 기본으로 제공해주지 않는 기능은 따로 작성
    // findByName >> 스프링 데이터 JPA가 "select m from Member m where m.name = ?"로 SQL 생성해줌
    // findBy + ""
}