728x90
반응형

JPA 23

[스프링부트] 실전! 스프링 부트와 JPA 활용2 : 스프링 데이터 JPA, queryDSL

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 실무 필수 최적화 1. 스프링 데이터 JPA 소개 2. QueryDSL 소개 1. 스프링 데이터 JPA https://spring.io/projects/spring-data-jpa - JPA를 사용할 때 계속 반복되는 코드를 자동화 해주며, 이미 라이브러리는 포함 되어 있음 - 기존의 MemberRepository 를 스프링 데이터 JPA로 변경해보기 스프링 데이터 JPA 적용 findOne() -> findById()로 변경 후 .get() findAll() 같은 것들은 그냥 사용 가능 잘 작동하는 모습!! 스프링 데이터 JPA는..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 : OSIV와 성능 최적화

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 실무 필수 최적화 1. OSIV와 성능 최적화 OSIV와 성능 최적화 Open Session In View: 하이버네이트 Open EntityManager In View: JPA(관례상 OSIV라 한다.) => 옵션값 쓸 때는 spring.jpa.open-in-view : true OSIV ON spring.jpa.open-in-view : true 기본값 이 기본값을 뿌리면서 애플리케이션 시작 시점에 warn 로그를 남기는 것은 이유가 있다. JPA가 DB 커넥션을 획득하는 시기 ? - 기본적으로 Transaction을 시작할 때..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 컬렉션 조회 최적화 #7 API 개발 고급 정리

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 컬렉션 조회 최적화 1. 주문 조회 V1: 엔티티 직접 노출 2. 주문 조회 V2: 엔티티를 DTO로 변환 3. 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파 5. 주문 조회 V4: JPA에서 DTO 직접 조회 6. 주문 조회 V5: JPA에서 DTO 직접 조회 - 컬렉션 조회 최적화 7. 주문 조회 V6: JPA에서 DTO로 직접 조회, 플랫 데이터 최적화 8. API 개발 고급 정리 API 개발 고급 정리 정리 엔티티 조회 엔티티를 조회해서..

카테고리 없음 2023.11.26

[스프링부트] 실전! 스프링 부트와 JPA 활용2 컬렉션 조회 최적화 #4 JPA에서 DTO 직접 조회

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 컬렉션 조회 최적화 1. 주문 조회 V1: 엔티티 직접 노출 2. 주문 조회 V2: 엔티티를 DTO로 변환 3. 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파 5. 주문 조회 V4: JPA에서 DTO 직접 조회 6. 주문 조회 V5: JPA에서 DTO 직접 조회 - 컬렉션 조회 최적화 7. 주문 조회 V6: JPA에서 DTO로 직접 조회, 플랫 데이터 최적화 8. API 개발 고급 정리 주문 조회 V4: JPA에서 DTO 직접 조회 OrderQ..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 컬렉션 조회 최적화 #3.1 페이징과 한계 돌파

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 컬렉션 조회 최적화 1. 주문 조회 V1: 엔티티 직접 노출 2. 주문 조회 V2: 엔티티를 DTO로 변환 3. 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파 5. 주문 조회 V4: JPA에서 DTO 직접 조회 6. 주문 조회 V5: JPA에서 DTO 직접 조회 - 컬렉션 조회 최적화 7. 주문 조회 V6: JPA에서 DTO로 직접 조회, 플랫 데이터 최적화 8. API 개발 고급 정리 4. 주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 컬렉션 조회 최적화 #3 페치 조인 최적화

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 컬렉션 조회 최적화 1. 주문 조회 V1: 엔티티 직접 노출 2. 주문 조회 V2: 엔티티를 DTO로 변환 3. 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파 5. 주문 조회 V4: JPA에서 DTO 직접 조회 6. 주문 조회 V5: JPA에서 DTO 직접 조회 - 컬렉션 조회 최적화 7. 주문 조회 V6: JPA에서 DTO로 직접 조회, 플랫 데이터 최적화 8. API 개발 고급 정리 3. 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 지연 로딩과 조회 성능 최적화 #1 간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 지연 로딩과 조회 성능 최적화 1. 간단한 주문 조회 V1: 엔티티를 직접 노출 2. 간단한 주문 조회 V2: 엔티티를 DTO로 변환 3. 간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 간단한 주문 조회 V4: JPA에서 DTO로 바로 조회 3. 간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 OrderSimpleApiController - 추가 @GetMapping("/api/v3/simple-orders") public List ordersV3() { List orders = o..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 지연 로딩과 조회 성능 최적화 #1 간단한 주문 조회 V2: 엔티티를 DTO로 변환

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 지연 로딩과 조회 성능 최적화 1. 간단한 주문 조회 V1: 엔티티를 직접 노출 2. 간단한 주문 조회 V2: 엔티티를 DTO로 변환 3. 간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 간단한 주문 조회 V4: JPA에서 DTO로 바로 조회 주문을 기반으로, 주문 + 배송정보 + 회원을 조회하는 API를 만들자 지연 로딩 때문에 발생하는 성능 문제를 단계적으로 해결해보자. 참고: 지금부터 설명하는 내용은 정말 중요합니다. 실무에서 JPA를 사용하려면 100% 이해해야 합니다. 안그러면 엄청난 시간을 날리..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 #2 API 개발 고급 - 준비

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 준비 1. API 개발 고급 소개 2. 조회용 샘플 데이터 입력 1. API 개발 고급 소개 조회용 샘플 데이터 입력 지연 로딩과 조회 성능 최적화 컬렉션 조회 최적화 페이징과 한계 돌파 OSIV(Open Session In View)와 성능 최적화 2. 조회용 샘플 데이터 입력 API 개발 고급 설명을 위해 샘플 데이터 입력 userA JPA1 BOOK JPA2 BOOK userB SPRING1 BOOK SPRING2 BOOK -> 총 2건의 주문 package jpabook.jpashop; import jpabook.jpasho..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #7 웹 계층 개발(5)

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 웹 계층 개발 1. 홈 화면과 레이아웃 2. 회원 등록 3. 회원 목록 조회 4. 상품 등록 5. 상품 목록 6. 상품 수정 7. 변경 감지와 병합(merge) 8. 상품 주문 9. 주문 목록으로 검색, 취소 10. 다음으로 8. 상품 주문 OrderController package jpabook.jpashop.controller; import jpabook.jpashop.domain.Member; import jpabook.jpashop.domain.item.Item; import jpabook.jpashop.service.ItemService; impor..

728x90
반응형