회원 등록 API >📌 [포스트맨415에러]_@RequestBody를 지워야하는 이유 혹은 Header에서 Content-Type를 application/json로 수정 V1 엔티티를 Request Body에 직접 매핑 문제점 엔티티에 프레젠테이션 계층을
조회용 샘플 데이터 입력 jpabook > jpashop > service > InitDb.java 지연 로딩과 조회 성능 최적화 V1. 엔티티 직접노출 문제1. order에 걸리는 양방향 관계 설정문제 -> @JsonIgnore를 통해 끊어야함 문제2. [Typ
ManyToOne이나 OneToOne 관계 조인 > Fetch Join OneToMany 조회 > Collection 조회 DB에서 조회 할 때, Many만큼 줄이 증가하므로, 최적화하기 힘들다. V1:엔티티 직접 노출 (하지만, 엔티티를 직접 노출하면 안된다.)
테이블 4개가 다 조인된 상태, DB가 N만큼 증가 > 쿼리는 1번 나옴distinct 사용하여 중복을 조회 됨을 막아줌단, 페이징 불가능개별로 적용하고 싶을 땐, @BatchSize장점쿼리 호출 수가 1 + N 1 + 1 로 최적화 된다.조인보다 DB 데이터 전송량이
컬렉션은 별도로 조회 Query: 루트 1번, 컬렉션 N 번 단건 조회에서 많이 사용하는 방식
쿼리를 한 번 날린 후, 메모리에서 map하여 가져온 후 매칭쿼리가 2번 생성이 된다
쿼리가 1번 날아온다는 장점이 존재하지만,조인으로인해 DB에서 중복데이터가 추가되므로 V5보다 느릴 수도 있다.페이징 역시 불가능.
엔티티 조회엔티티를 조회해서 그대로 반환: V1// 엔티티 스펙이 변할경우, API 스펙도 변환됨엔티티 조회 후 DTO로 변환: V2//API 스펙에 맞게 DTO로 변환해서 사용페치 조인으로 쿼리 수 최적화: V3//여러 테이블 조인할 경우 성능 안나올 때 이용컬렉션
Open Session IN View : 하이버네이트향후에 JPA 생성되면서, Open EntitiyManager In View로 바뀌면서 관례상 OSIV로 불리움.spring.jpa.open in-view: TRUE 기본값OSIV전략은 데이터베이서 커넥션 시작 시점부