728x90

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


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

참고 : 실무에서는 JPA와 스프링 데이터 JPA를 기본으로 사용하고, 복잡한 동적 쿼리는 Querydsl이라는 라이브러리를 사용하면 된다. Querydsl을 사용하면 쿼리도 자바 코드로 안전하게 작성할 수 있고, 동적 쿼리도 편리하게 작성할 수 있다. 이 조합으로 해결하기 어려운 쿼리는 JPA가 제공하는 네이티브 쿼리를 사용하거나, 앞서 학습한 스프링 JdbcTemplate를 사용하면 된다.
728x90
'스프링 입문' 카테고리의 다른 글
| Ch07. AOP - AOP 적용 (0) | 2021.12.02 |
|---|---|
| Ch07. AOP - AOP가 필요한 상황 (0) | 2021.12.02 |
| Ch06. 스프링 DB 접근 기술 - JPA (0) | 2021.12.01 |
| Ch06. 스프링 DB 접근 기술 - 스프링 JdbcTemplate (0) | 2021.12.01 |
| Ch06. 스프링 DB 접근 기술 - 스프링 통합 테스트 (0) | 2021.12.01 |