스프링 학습 - 입문 6

김연수·2023년 3월 1일
0

spring study

목록 보기
6/7

스프링 데이터 JPA

스프링 데이터 JPA를 사용하면 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있다. 그리고 반복 개발해온 기본 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다.


스프링 데이터 JPA 인터페이스가 Jpa repository를 extends 하고 있으면 자동으로 구현체를 만들어주고 스프링 Bean에 자동으로 등록해줌

Injection 받아서 등록 해준다

테스트 해보면 콘솔을 통해 Hibernate가 구현된것을 확인 할 수 있다

스프링 데이터 JPA 제공 기능

  • 인터페이스를 통한 기본적인 CRUD
  • findByName() , findByEmail() 처럼 메서드 이름 만으로 조회 기능 제공
  • 페이징 기능 자동 제공

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

profile
코린이

0개의 댓글