인프런/실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화4 끝) API 개발 고급 - 실무 필수 최적화 - OSIV OSIV와 성능 최적화 Open Session In View: 하이버네이트Open EntityManager In View: JPA (관례상 OSIV라 한다.) OSIV ON- spring.jpa.open-in-view : true -> 기본값 [ OSIV ON ] WARN 5472 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning.. 인프런/실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 2024. 6. 11. 3) API 개발 고급 - 컬렉션 조회 최적화 컬렉션인 일대다 관계(OneToMany) 를 조회하고, 최적화하는 방법을 알아보자. 주문 조회 V1: 엔티티 직접 노출@RestController@RequiredArgsConstructorpublic class OrderApiController { private final OrderRepository orderRepository; /** * V1. 엔티티 직접 노출 * - Hibernate5Module 모듈 등록, LAZY=null 처리 * - 양방향 관계 문제 발생 -> @JsonIgnore */ @GetMapping("/api/v1/orders") public List ordersV1() { List all = orderRepository.. 인프런/실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 2024. 6. 11. 2) API 개발 고급 - 지연 로딩과 조회 성능 최적화 조회용 샘플 데이터 입력 /** * 종 주문 2개 * * userA * * JPA1 BOOK * * JPA2 BOOK * * userB * * SPRING1 BOOK * * SPRING2 BOOK */@Component@RequiredArgsConstructorpublic class InitDb { private final InitService initService; @PostConstruct public void init() { initService.dbInit1(); initService.dbInit2(); } @Component @Transactional @RequiredArgsConstructor static cla.. 인프런/실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 2024. 6. 10. 1) API 개발 기본 [ 회원 등록,수정,조회 API ] 1편의 프로젝트를 가지고 API 개발을 진행한다. 회원 등록 API V1@RestController@RequiredArgsConstructorpublic class MemberApiController { private final MemberService memberService; @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member) { Long id = memberService.join(member); return new CreateMemberResponse(id); } @Data static class Cr.. 인프런/실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 2024. 6. 10. 이전 1 다음