반응형
Lazy
-
03. JPA 연관관계 관리BackEnd/JPA 2021. 8. 13. 14:48
1. 즉시 로딩(EAGER)과 지연 로딩(LAZY) > Member Entity : Team Entity ( N : 1 )가 존재할 때 즉시 로딩은 두 엔티티를 한 번에 조회하지만 지연 로딩은 프록시로 조회한다. > 즉시 로딩은 JPQL에서 N+1 문제를 야기하기 때문에 실무에서는 가급적 지연 로딩만 사용한다. JPQL fetch 조인이나 엔티티 그래프 기능을 사용하는 것이 좋다. (@OneToMany, @ManyToMany는 기본이 지연 로딩이다. @ManyToOne, @OneToOne은 기본이 즉시 로딩이기에 LAZY로 설정한다.) tip) 프록시(Proxy) > em.find(): 데이터베이스를 통해서 실제 엔티티 객체 조회 > em.getReference(): 데이터베이스 조회를 미루는 가짜(프록..