-
[2020.02.01] 실전! 스프링 데이터 JPA (인프런)후기/인터넷 강의 2020. 3. 1. 18:26728x90반응형
<Spring Data JPA>
목차
- 섹션 0. 스프링 데이터 JPA 소개 2 강의 / 03 : 15
- 섹션 1. 프로젝트 환경설정 4 강의 / 48 : 29
- 섹션 2. 예제 도메인 모델 1 강의 / 19 : 42
- 섹션 3. 공통 인터페이스 기능 4 강의 / 38 : 54
- 섹션 4. 쿼리 메소드 기능 11 강의 / 161 : 19
- 섹션 5. 확장 기능 4 강의 / 67 : 30
- 섹션 6. 스프링 데이터 JPA 분석 2 강의 / 29 : 56
- 섹션 7. 나머지 기능들 4 강의 / 68 : 16
- > 총 32 강의, 7시간 17분
앞앞의 후기에서 Spring Data JPA를 다루지 않아서 아쉬웠다는 내용을 쓰기가 민망하게, Spring Data JPA 강의도 올라왔다. 김영한님은 Query DSL까지 이어지는 큰 그림을 미리 그리고 계셨던듯 하다. 20% 할인 이벤트 때 구입하였다.
find...By에서 ...에 아무거나 써도 된다는 점은 처음 알았다. Spring Data JPA 문서를 찾아보니 다음과 같이 나온다. find외에도 read...By, query...By, count...By, get...By 등도 된다고 한다.
<출처: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.query-creation> 메소드의 이름 규칙을 가지고 필요한 쿼리를 만들어 낸다는 것은 정말 대단한 발상이자 기술인 것 같다. MyBatis를 사용할 때에는 CRUD에 대해 거의 비슷한 다양한 쿼리들이라 할지라도 일일히 매퍼 만들고 쿼리짜서 연결을 시켰여야 했다. 그러다가 필드가 추가되면 모든 쿼리문들을 다 수정해줘야 했다. IDE에서 오류를 잡아주지 않기 때문에 컴파일타임, 더 운이 나쁘면 런타임시에 에러가 나기도 하고... 수정해서 다시 배포하고... 했던 것에 비하면 너무 편리하다.
그럼에도 이 편리한 쿼리 메소드로도 할 수 없는, 더욱 복잡하고 다양한 다이나믹 쿼리들이 필요할 땐 이 다음 강의의 주제인 Query DSL을 사용해야 한다. 그러면 SQL문 작성을 자바 코드로 안전하게 사용할 수 있다!
그 외에도 잘 안쓰는 @NamedQuery, Lazy loading이 걸려있어도 한번에 같이 조회할 수 있는 @EntityGraph, JPQL(또는 native query)을 사용할 수 있는 @Query 등등 Spring Data JPA 전반에 대해 다루고 있다. (전부가 얼만큼인지 몰라서 전부를 다루는지 일부를 다루는지 모르겠다.)
다음 마지막 강의(아마도)인 Query DSL까지 계속 수강해보자.
반응형'후기 > 인터넷 강의' 카테고리의 다른 글
[2020.03.23][제작] 실무자가 알려주는 Git - 입문편 (인프런) (0) 2020.04.06 [2020.03.23] 실전! Querydsl (인프런) (0) 2020.03.31 [2019.12.16] 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 (인프런) (0) 2020.01.12 [2019.10.17] 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 (인프런) (0) 2019.11.17 [2019.10.05] 자바 ORM 표준 JPA 프로그래밍 - 기본편 (인프런) (2) 2019.11.17