728x90 즉시로딩 지양1 [JPA] 엔티티 설계 시 주의점 (setter 지양, 즉시로딩 지양) (1) 엔티티에는 가급적 Setter 지양 변경 포인트가 너무 많아서 유지보수가 어렵다.. (2) 지연로딩 지향, 즉시로딩 지양 모든 연관관계는 지연로딩으로 설정! 즉시로딩(EAGER)은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다. 특히 JPQL을 실행할 때 N+1 문제(의미상 1+N)가 자주 발생한다. 실무에서 모든 연관관계는 지연로딩(LAZY)으로 설정해야 한다. 연관된 엔티티를 함께 DB에서 조회해야 하면, fetch join 또는 엔티티 그래프 기능을 사용한다. 주의할 점으로, @XToOne(OneToOne, ManyToOne) 관계는 기본이 즉시로딩 이므로 직접 지연로딩으로 설정해야 한다. (3) 컬렉션은 필드에서 초기화 하자. 컬렉션은 필드에서 바로 초기화 하는 것이 null 문제.. 2022. 9. 26. 이전 1 다음 728x90