NULL1 [JPA] Entity를 설계할때 주의점(N+1) 1. Entity에는 가급적 Setter를 사용하지 말자 Setter를 무분별하게 사용하게 되면 어디서 해당 값이 변경되었는지 추적하기가 어렵다. 변경 포인트가 너무 많아서, 유지보수가 어렵다. Setter가 필요할 경우에는 추적하기 쉽도록 메서드를 따로 생성해주는것도 좋은 방법이다. 2. 모든 연관관계는 지연로딩으로 설정 즉시로딩( EAGER )은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다. 특히 JPQL을 실행할 때 N+1 문제가 자주 발생한다. 실무에서 모든 연관관계는 지연로딩( LAZY )으로 설정한다. 연관된 엔티티를 함께 DB에서 조회해야 하면, fetch join 또는 엔티티 그래프 기능을 사용한다. @XToOne(OneToOne, ManyToOne) 관계는 기본이 즉시로딩이므로.. 이전 1 다음