Close
Close full mode
logo만렙 개발자 키우기

(1) 소개

Git RepositoryEdit on Github
Last update: a year ago by nowwaterReading time: 2 min

환경 설정

JavaConfig 방식

@Configuration
@EnableJpaRepositories(basepackages = "리포지토리를 검색할 패키지 위치")
public class AppConfig {}

소개

  • 스프링 데이터 JPA는 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트이다.
  • 데이터 접근 계층을 개발할 때 지루하게 반복되던 CRUD 문제를 세련된 방법으로 해결한다.
  • CRUD를 처리하기 위한 공통 인터페이스를 제공한다. 리포지토리를 개발할 때 인터페이스만 작성하면 실행 시점에 스프링 데이터 JPA 가 구현 객체를 동적으로 생성해서 주입해준다.
  • 따라서 데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 개발을 완료할 수 있다.
  • 공통 인터페이스 외의 처리는 스프링 데이터 JPA가 메소드 이름을 분석해서 JPQL을 실행시켜 준다.

    // 스프링 데이터 JPA 적용 - JpaRepository 인터페이스 내에 공통 메소드가 존재한다.
    // save(), findOne(), findAll() ...
    public interface MemberRepository extends JpaRepository<Member, Long>{
    Member findByUserName(String username);
    // 스프링 데이터 JPA가 메서드 이름을 보고 알아서 JPQL을 만들어서 실행한다.
    // select m from Member m where username = :username
    }
    public interface ItemRepository extends JpaRepository<Item, Long>{
    }

🚩 클래스 다이어그램

image


🚀 JPA — Previous
12장. 스프링 데이터 JPA
Next — 🚀 JPA
(2) 공통 인터페이스 기능