[Spring] 스프링 DB 2편 6-2. 스프링 데이터 JPA 소개2 - 기능

강우엉·2023년 8월 31일

Spring

목록 보기
322/359
post-thumbnail


스프링 데이터 JPA가 등장하였다.

이 기술을 사용하면 아래 코드처럼 코드가 간단해진다.

public interface MemberRepository extends JpaRepository<Member,Long>{
//실제아무것도없음.
}

인터페이스만 상속받으면 기능들을 다 제공해준다.

Spring Data JPA의 기능

메서드 이름으로 쿼리생성


Spring Data JPA 는 인터페이스에 메서드만 적어두면 메서드 이름을 분석해서 JPQL을 만들고 실행해준다.


요즘 백엔드 주요 프레임워크는 아래와같다.

위에 프레임워크들을 사용하면 아래와 같은 장점을 가진다.

  • 코딩량 감소
  • 도메인 클래스를 중요하게 다룸
  • 비지니스 로직 이해 쉬움
  • 더 많은 테스트 케이스 작성 가능

하지만 Spring Data JPA를 사용하려면 아래와 같은 준비가 필요하다.

  • JPA(하이버네이트) 이해필요
  • 본인먼저 JPA 이해
  • 데이터베이스 설계 이해
  • Spring Data JPA는 단지 거들 뿐.
  • 대부분의 문제는 JPA를 모르고 사용해서 발생

JPA 도입 전 이해도 테스트

  • 본인이 작성한 JPQL이 어떤 쿼리로 생성될지 이해 해야 함.
  • 즉시, 지연 로딩 전략 이해

JPA 도입 전 이해도 테스트
• 영속성 컨텍스트 이해
• 변경 감지
• 언제 영속성 컨텍스트가 플러시 되는가
• 연관관계 매핑중에 mappedBy(inverse) 이해
• JPQL 한계인식

가장 중요한것은 JPA 자체를 이해하는것이다!

profile
우엉이의 코딩 성장일기💻

0개의 댓글