Spring Data JPA

Mina Park·2022년 10월 2일
0

https://spring.io/projects/spring-data-jpa

  • JPA를 사용할 때 지루하게 반복되는 코드를 자동화
  • Spring Data JPA는 "JPARepository"라는 인터페이스를 제공하는데, 기본적인 CRUD 기능이 모두 제공
  • findByName처럼 일반화하기 어려운 기능은 XXXRepository에 별도로 기재
    • 하지만 이것도 메서드 이름을 통해 정확한 JPQL 쿼리를 실행
	public interface MemberRepository extends JpaRepository<Member, Long> {

    //select m from Member m where m.name = :name
    //메소드 이름에서 자동으로 쿼리 생성(구현부 기재할 필요가 없음)
    List<Member> findByName(String name);

	}
  • 개발자는 인터페이스만 만들면, Spring Data JPA가 애플리케이션 실행시점에 구현체를 주입해줌
  • Spring Data JPA는 스프링과 JPA를 활용해서 정말 편리한 기능을 제공
  • 하지만, 결국 Spring Data JPA도 JPA를 사용해서 이런 기능을 제공하는 것
  • 따라서, 결국은 JPA 자체를 잘 이해하는 것이 가장 중요

📌 실무에서 Spring, JPA, Spring Data JPA, QueryDSL 4가지는 개발생산성을 높여주는 주요 도구

0개의 댓글