orphanRemoval2 [TIL] 240412 즉시로딩, 지연로딩, 영속성 전이, OrphanRemoval 즉시로딩 지연로딩 FetchType 연관관계 entity를 바로 가져오거나 (즉시로딩 / FetchType = Eager), 필요할 때 가져옴 (지연로딩 / FetchType = Lazy) 기본적으로 @OneToMany는 Lazy (가져올 값이 많으니까(리스트)필요할때), @ManyToOne은 Eager 이 default FetchType=lazy는 @Transactional 걸어줘야 함 지연로딩도 연속성 컨텍스트의 기능 중 하나 지연로딩된 entity의 정보를 조회할 땐 영속성 컨텍스트가 존재해야함 영속성 컨텍스트 존재하기 위해 트렌젝션이 적용되어야함 영속성 전이 Cascade 영속 상태의 Enity에서 수행되는 작업들이 연관된 entity까지 전파되는 상황 cascade persist옵션으로 설정 c.. 2024. 4. 12. [TIL] 240102 RawJPA로 개발하기 2 (Cascade, OrphanRemoval, Fetch) Cascade (영속성 전이) Cascade와 OrphanRemoval의 One쪽에서 사용 OrphanRemoval (고아객체 제거) ✔️ 영속성 전이 최강조합 orphanRemoval = true + Cascade.ALL Fetch 연관 관계 매핑시 연관된 엔티티를 언제 가져오는지 지정 Many쪽에서 지정 - EAGER (즉시로딩) : 성능 문제 유발할 수 있음 - LAZY (지연로딩) : 부모 엔티티를 조회할때 자식 엔티티가 로드되지 않다가 자식 엔터티에 접근하는 시점에서 로드됨 @ManyToOne(fetch = FetchType.LAZY) // 또는 FetchType.EAGER @JoinColumn(name = "다른 엔터티의 컬럼") private OtherEntity otherEntity; 2024. 1. 4. 이전 1 다음