[SpringBoot] 스프링 데이터와 스프링 데이터 JPA

도리도리·2023년 11월 9일
0

SpringBoot

목록 보기
7/9
post-thumbnail

스프링 데이터와 스프링 데이터 JPA

스프링 데이터

특징

  • 비즈니스 로직에 더 집중할 수 있게 데이터 베이스 사용 기능을 클래스 레벨에서 추상화
  • 인터페이스 CRUD를 포함한 여러 메서드가 포함되어 있으며, 알아서 쿼리를 만듬
  • 페이징 처리 기능과 메서드 이름으로 자동으로 쿼리를 빌딩하는 기능이 제공됨

추가적으로 각 데이터베이스의 특성에 맞춰 기능을 확장해 제공하는 기술도 제공합니다.

스프링 데이터 JPA

특징

  • 스프링 데이터의 공통적인 기능에서 JPA의 유용한 기술이 추가된 기술.
  • 스프링 데이터의 인터페이스인 PagingAndSortingRepository를 상속받아
    JpaRepository 인터페이스를 만들었으며, JPA를 더 편리하게 사용하는 메서드를 제공

메서드 호출로 엔티티 상태 변경 예

// x
@persistenceContext
EntityManager em;

public void join() {
	Member member = new Member(1L, "홍길동");
    em.persist(member);
}

하지만 스프링 데이터 JPA를 사용하면 리포지터리 역할을 하는 인터페이스를 만들어 데이터베이스의 테이블 조회, 수정, 생성, 삭제 같은 작업을 간단히 할 수 있습니다.
다음과 같이 JpaRepository 인터페이스를 우리가 만든 인터페이스에서 상속받고, 제네릭에는 관리할 <엔티티 이름, 엔티티 기본키의 타입> 을 입력하면 기본 CRUD 메서드를 사용할 수 있습니다.

기본 CRUD 메서드를 사용하기 위한 JpaRepository 상속 예

public interface MemberRepository extends JpaRepository<Member, Long> {
}
profile
개발자에 꽃

0개의 댓글