JPA/실전! 스프링 부트와 JPA 활용 - API1 JPA - API 개발 & 성능 최적화 ★ 절대 엔티티를 외부에 노출시키면 안된다!! 문제점 한 엔티티에 적용되는 API가 다양한데 한 엔티티에 상황에 맞는 각각의 모든 요청 요구사항을 담기는 어렵다. 엔티티가 변경되면 API 스펙이 변한다. 결론 : API 요청 스펙에 맞추어 별도의 DTO를 파라미터로 받는다. 지연 로딩과 조회 성능 최적화 ★ 지연 로딩(LAZY)을 피하기 위해 즉시 로딩(EARGR)으로 설정하면 안된다! 즉시 로딩 때문에 연관관계가 필요 없는 경우에도 데이터를 항상 조회해서 성능 문제가 발생할 수 있다. 즉시 로딩 설정시 SQL 문이 예측 불가능하므로 성능 문제가 발생할 수 있다. → 항상 지연 로딩으로 세팅하고 성능 최적화가 필요한 경우에는 페치 조인(fetch join)을 사용해라! N + 1 문제 (fetch joi.. 2023. 8. 24. 이전 1 다음