Skip to content

김영한님의 JPA 활용 1편 강의를 듣고 복습 및 정리한 내용을 작성하고 있습니다.

Notifications You must be signed in to change notification settings

chickenchickenlove/JPA1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 

Repository files navigation

JPA1 & 2

김영한님의 JPA 활용 강의를 듣고 복습 및 정리한 내용을 작성하고 있습니다.

22.01.06

  • (강의) 도메인 모델과 테이블 설계 수강
  • (강의) 엔티티 클래스 개발 및 실제 코드로 구현 수강
  • (강의) 엔티티 설계 시 주의 사항 수강. (다대다 관계, 싱글 테이블, Lazy Laoding, 연관관계의 주인, 연관관계의 편의 메서드)

22.01.07

  • (강의) 회원 도메인 개발 수강(회원 Repository, 회원 Service, 회원 Domain Test)
  • (강의) 상품 도메인 개발 수강(상품 Repsitory, 상품 Service)

22.01.08

  • (강의) 주문, 주문상품 엔티티 개발
  • (강의) 주문 리포지토리 개발
  • (강의) 주문 서비스 개발
  • (강의) 주문 기능 테스트
  • (강의) 주문 검색 기능 개발
  • (강의) 홈 화면과 레이아웃
  • (강의) 회원 등록, 회원 목록 조회
  • (강의) 상품 등록, 상품 목록 조회
  • (코드) 도메인 클래스 개발(객체 간 연관관계 설정, 테이블간 연관관계 설정)
  • (정리) JPA 프로젝트 복습하며 알게 된 내용, 다시 공부한 내용 정리(https://ojt90902.tistory.com/682, 1~13번)

22.01.09

  • (정리) 영속성 전이, 연관관계의 주인에 대해 테스트 코드 작성 후 개념 숙지(https://ojt90902.tistory.com/682, 14~20번)
  • (코드) 영속성 전이, 연관관계의 주인에 대해 테스트 코드 작성 후 개념 숙지
  • (코드) 도메인 객체 처음부터 끝까지 다시 개발

22.01.10

  • (강의) 상품 수정 컨트롤러 개발.
  • (강의) 변경 감지와 병합(merge) 차이 및 서비스 계층 개발
  • (강의) 상품 주문 컨트롤러 개발
  • (강의) 주문 목록, 검색, 취소 컨트롤러 개발
  • (정리) @Transaction 어노테이션에 대한 이해 관련 정리 (https://ojt90902.tistory.com/683)
  • (코드) MemberRepository, MemberService 개발
  • (코드) MemberRepository 테스트 코드 작성. MemberSerivce 테스트 코드 작성.
  • (코드) Item 비즈니스 로직 개발(addStock, removeStock), ItemRepository 개발, ItemService 개발
  • (코드) ItemService 테스트 코드 작성

22.01.11

  • (코드) Order, OrderRepository, OrderService 개발.(비즈니스 로직, 생성 메서드, 연관관계 편의 메서드 등)
  • (코드) Order, OrderRepository, OrderService 개발 재복습
  • (코드) OrderRepository 회원 검색 기능 개발
  • (코드) ItemRepository 관련 테스트 코드
  • (코드) HomeController, MemberController 개발
  • (코드) ItemController, OrderController 개발.
  • (이슈) OrderController의 검색기능 페이지 오동작. 수정 필요. → select 쿼리 중 join 이상한 것으로 확인됨. QueryDSL등으로 수정 보완이 필요함.
  • (코드) OrderCancle 컨트롤러
  • (강의) 회원 저장 API 개발 수강
  • (강의) 회원 수정 API 개발 수강
  • (강의) 회원 조회 API 개발 수강
  • (강의) API 개발 고급 소개 + 조회용 샘플 데이터 코드 입력 수강.

22.01.12

  • (강의) 간단한 주문 조회 API 설계 → 엔티티를 직접 응답함.
  • (강의) 간단한 주문 조회 API 설계 → 엔티티를 DTO로 변환

22.01.13

  • (강의) 간단한 주문 조회 API 설계 → 엔티티를 DTO로 변환 후 Fetch Join으로 N+1 문제 최적화
  • (강의) 간단한 주문 조회 API 설게 : JPA에서 엔티티가 아닌 DTO로 바로 조회
  • (강의) 컬렉션 주문 조회 : 엔티티를 직접 노출하는 API 설계

22.01.14

  • (강의) 컬렉션 주문 조회 : DTO로 변환해서 노출하는 API

22.01.15

  • (강의) 컬렉션 엔티티 직접 노출
  • (강의) 컬렉션 엔티티로 검색 후, DTO로 변환해서 리턴
  • (강의) 컬렉션 엔티티로 검색 후, DTO로 변환했을 때 발생하는 N+1 문제 Fetch Join으로 해결
  • (강의) 엔티티를 DTO로 변환 후, 페이징과 환계 돌파
  • (강의) JPA에서 DTO로 직접 조회
  • (강의) JPA에서 DTO로 직접 조회하는 부분의 컬렉션 조회 최적화
  • (강의) JPA에서 DTO로 직접 조회하는 부분을 플랫화 해서 쿼리 횟수 최적화
  • (코드) MemberApiController : API 방식의 회원 조회, 저장, 수정 컨트롤러 개발
  • (코드) MemberService : Dirty Check를 이용한 Member Update 로직 개발
  • (정리) MemberApiController / MemverService 구현에 관한 정리 (https://ojt90902.tistory.com/688)
  • (코드) SimpleOrderApiController 구현 : Order와 xToOne 연관관계의 변수들만 랩핑해서 반환하는 API 구현
  • (정리) SimpleOrderApiController 구현 관련 정리 (https://ojt90902.tistory.com/690)

22.01.16

  • (코드) OrderApiController의 Collection 유형 엔티티를 직접 반환하는 Controller 개발
  • (코드) OrderApiController의 Collection 유형을 DTO로 반환하는 Controller 개발
  • (코드) OrderApiController의 Collection 유형을 DTO로 반환하며 Fetch Join으로 N+1 문제를 해결하는 API Controller 개발

22.01.17

  • (코드) OrderApiController의 Collection 유형 엔티티를 DTO로 JPA에 직접 접근해서 반환하는 코드
  • (정리) OSVI (https://ojt90902.tistory.com/691)
  • (정리) 개발 과정에서 발생한 문제 디버깅(https://ojt90902.tistory.com/692)
  • (코드) OrderApiController의 Collection 유형 엔티티를 DTO로 JPA에 직접 접근했을 때 발생할 수 있는 N+1 문제를 in 절로 최적화.
  • (코드) OrderApiController를 FlatDTO로 모두 불러와서 필요한 형태의 DTO로 반환하는 API 구문 작성.

22.01.18

  • (코드) OrderApiController V1 ~ V6 복습

22.01.19

  • (코드) OrderApiController V1 ~ V6 다시 한번 더 복습

About

김영한님의 JPA 활용 1편 강의를 듣고 복습 및 정리한 내용을 작성하고 있습니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published