Spring Data JPA란?

금은체리·2023년 11월 14일
1

Spring

목록 보기
5/49

Spring Data JPA란?

  • Spring Data JPAJPA를 쉽게 사용할 수 있게 만들어놓은 하나의 모듈
    • JPA: 자바 진영에서 ORM(Object-Relational Mapping)의 기술 표준으로 사용하는 인터페이스의 모음
      • ORM: 데이터베이스를 사용하려면 SQL 쿼리(query)라는 구조화된 질의를 작성하고 실행하는 등의 복잡한 과정이 필요하다. 이때 ORM(object relational mapping)을 이용하면 자바 문법만으로도 데이터베이스를 다룰 수 있다.
    • JPA를 추상화시킨 Repository 인터페이스 제공

Spring Data JPA의 SimpleJpaRepository

  • Spring Data JPA에서는 JpaRepository 인터페이스를 구현하는 클래스를 자동으로 생성
    • Spring 서버가 뜰 때 JpaRepository 인터페이스를 상속받은 인터페이스가 자동으로 스캔이 되면
    • 해당 인터페이스의 정보를 토대로 자동으로 SimpleJpaRepository 클래스를 생성해 주고, 이 클래스를 Spring 'Bean'으로 등록
  • 따라서 인터페이스의 구현 클래스를 직접 작성하지 않아도 JpaRepository 인터페이스를 통해 JPA 기능 사용 가능

Spring Data JPA 사용방법

  • JpaRepository 등록

    public interface MemoRepository extends JpaRepository<Memo, Long> {}
    
    • JpaRepository<"@Entity 클래스", "@Id의 데이터 타입">를 상속 받는 interface로 선언
      • Spring Data JPA에 의해 자동으로 Bean 등록됨
      • 제네릭스의 @Entity 클래스 위치에 Memo Entity를 추가했기 때문에 해당 MemoRepositor는 DB의 memo 테이블과 연결되어 있으 CRUD 작업을 처리하는 인터페이스가 됨
profile
전 체리 알러지가 있어요!

0개의 댓글