스프링 입문

Ch06. 스프링 DB 접근 기술 - SpringDataJPA

webmaster 2021. 12. 1. 23:41
728x90

JPA 설명

  • 주의: 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술입니다. 따라서 JPA를 먼저 학습한 후에 스프링 데이터 JPA를 학습해야 합니다.

SpringDataJPA
config

  • SpringJPAData가 알아서 JpaRepository를 상속받을 때, memberRepository를 Bean으로 등록하여 준다.
    • 따라서 설정파일에선 빈으로 등록된 Repository만 가지고 와서 서비스에 주입해주면 된다.
  • JpaRepository가 공통적으로 제공되는 함수를 제공해 준다.
    • 단, 비지니스비즈니스 코드가 모두 다르기 때문에 비즈니스 관련 칼럼 같은 경우 공통화가 불가능하다(ex) name
    • 메서드를 만들 때, 규칙을 지켜서 만들도록 설계한다.( 메소드 이름으로 JPQL 생성)
      • 메서드를 만드는 시점부터 쿼리를 SpringJpaData가 만들어 제공해준다.
      • 페이징 기능까지 자동으로 제공

SpringDataJPA 구조

참고 : 실무에서는 JPA와 스프링 데이터 JPA를 기본으로 사용하고, 복잡한 동적 쿼리는 Querydsl이라는 라이브러리를 사용하면 된다. Querydsl을 사용하면 쿼리도 자바 코드로 안전하게 작성할 수 있고, 동적 쿼리도 편리하게 작성할 수 있다. 이 조합으로 해결하기 어려운 쿼리는 JPA가 제공하는 네이티브 쿼리를 사용하거나, 앞서 학습한 스프링 JdbcTemplate를 사용하면 된다.

728x90