JPA - 엔티티 설계시 주의점
엔티티 설계시 주의점 1.엔티티에는 가급적 Setter를 사용하지 말자. Setter가 모두 열려있다. 변경 포인트가 너무 많아서, 유지보수가 어렵다. 2. 모든 연관관계는 지연로딩으로 설정 즉시로딩(EAGER)은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다. 특히 JPQL을 실행할 때 N+1문제가 발생한다. // 즉시로딩 -> 멤버를 조회할때 연관된 오더를 한번에 다 조회하는것. 실무에서 모든 연관관계는 지연로딩(LAZY)으로 설정해야 한다. 연관된 엔티티를 함께 DB에서 조회해야 하면, fetch join 또는 엔티티 그래프 기능을 사용한다. @XToOne(OneToOne, ManyToOne)관계는 기본이 즉시로딩이므로 직접 지연로딩으로 설정해야 한다. (기본 fectch가 EAGER. 하..
2020.11.02