FetchType

JPA로 양방향 연관관계를 설정하면 N+1 문제가 발생할 수 있다는 얘기를 많이 들어봤다..이번 프로젝트에서도 양방향 연관관계를 설정한 만큼이번 기회에 N+1 문제가 무엇이고 해결 방법에는 무엇이 있는지 정리하고자 한다! N+1 문제`N+1 문제`는 JPA에서 발생할 수 있는 데이터베이스 쿼리 최적화와 관련된 중요한 성능 문제 중 하나이다. 내가 진행했던 프로젝트에서 예를 들면 Shop - Menu 엔티티들은 서로 연관관계를 맺는다Shop은 여러 개의 Menu를 가지니까 Shop이 `@OneToMany`로 Menu 필드를 가지고 Menu가 `@ManyToOne`로 Shop 필드를 가질 수 있을 것이다. (쉽게 말하면 Shop-Menu -> 일대다 관계) 그럼 특정 Shop의 Menu 필드를 조회하는 시나..
이번에는 공동구매 게시물 조회 기능을 구현해볼 것이다.@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "user_id")private User writer; 현재 `Copurchasing` 도메인의 `User` 필드는 `FetchType.LAZY`로 설정 돼 있다. 📌 FetchType`지연 로딩(Lazy Loading)` 연관된 엔티티를 처음 접근할 때까지 로드하지 않고 필요할 때만 데이터베이스에서 데이터를 로드`즉시 로딩(Eager Loading)` 엔티티가 로드될 때 연관된 모든 엔티티를 즉시 로드JPA는 지연 로딩을 위해 `프록시 객체`를 사용한다. 실제 데이터는 필요할 때까지 로드되지 않고, 프록시 객체로 대체된다.`LAZY`는 성능 최적화에 유용..
린구
'FetchType' 태그의 글 목록