목록Study/JPA (3)
자바칩
https://velog.io/@nuh__d/JPA-FetchType.LAZY-%EC%9C%BC%EB%A1%9C-%EC%9D%B8%ED%95%9C-%EB%B0%9C%EC%83%9D%ED%96%88%EB%8D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90 JPA FetchType.LAZY으로 인한 발생했던 문제점보통 Entity들의 연관관계가 ~ToOne 의 관계를 가진다면, fetch타입을 Lazy로 두어 매핑하는 경우가 많습니다. 최근 진행중인 프로젝트에서, post(게시글)를 조회하는 기능을 구현하다가 FetchTyp.LAZY로 설velog.iohttps://hjhng125.github.io/jpa/jpa-entity-by-controller/ Controller에서 JPA Entity를 반..
@Entity public class Concert { @OneToMany(mappedBy = "concert", cascade = CascadeType.ALL, orphanRemoval = true) private ListDistrict> districts; // 공연에 속하는 구역 리스트 } @Entity public class District { @ManyToOne(fetch = FetchType.LAZY) private Concert concert; // 구역이 속한 공연 } @OneToManyConcert 엔티티가 여러 개의 District 엔티티를 가질 수 있음을 나타낸다.즉, 하나의 Concer..
JPA(Java Persistence API)에서 엔티티를 로드하는 방식은 크게 두 가지로 나뉜다.즉시 로딩(FetchType.EAGER)지연 로딩(FetchType.LAZY)각각의 로딩 방식은 엔티티를 데이터베이스에서 가져오는 시점과 방식에 차이가 있다. 즉시 로딩 (FetchType.EAGER)즉시 로딩은 엔티티가 로드될 때 관련된 엔티티들도 함께 로드되는 방식이다.즉, 주 엔티티를 가져오는 시점에 관련된 모든 엔티티들을 즉시 데이터베이스에서 조회한다. 특징주 엔티티와 연관된 모든 엔티티들을 한 번에 로드하기 때문에 N + 1 문제를 유발할 수 있따.쿼리가 복잡해질 수 있으며, 성능에 영향을 줄 수 있다.코드가 단순해지고, 관련 엔티티에 바로 접근할 수 있어 편리하다.@ManyToOne과 @OneTo..