프록시와 지연로딩

호떡·2023년 1월 26일
0

실무에서는 지연로딩

  • 지연로딩 LAZY
    프록시 객체를 가져옴
  • 즉시로딩 EAGER
    (진짜) 객체를 다 가져옴
    Member조회 시 항상 Team도 조회하는 것
    각 member 객체마다 서로 다른 team에 소속되어 있다면..?
    Member 가져오는 쿼리와 함께 각 team 정보를 가져오기 위한 조인쿼리들이 나갈 것이다.
    Member 데이터만 필요한 상황에서는 불필요한 로직
    이처럼 즉시 로딩을 적용하면 예상하지 못한 SQL이 발생

프록시와 지연로딩 LAZY

지연로딩 LAZY는 프록시 객체로 조회


연관관계마다 다른 로딩 설정

  • [ @ManyToOne, @OneToOne ]
    기본이 즉시 로딩
    꼭 LAZY로 설정해주자
		@ManyToOne(fetch = FetchType.LAZY)
		@JoinColumn
		private Team team;
  • [ @OneToMany, @ManyToMany ]
    기본이 지연 로딩

0개의 댓글