entity 설계 (1) 썸네일형 리스트형 [Spring] jpa entity 설계 시 주의점 1. 엔티티에는 가급적 Setter를 사용하지 말자 => Setter가 모두 열려있는 경우, 변경 포인트가 너무 많아서 유지보수가 어려움 2. 모든 연관관계는 지연로딩(LAZY)으로 설정하자 => 즉시 로딩(EAGER)은 조회 시점에 FK로 연결되어 있는 테이블 정보까지 모두 조회되기 때문에 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어려움 (JPQL 실행시 1 + N(FK 테이블) 문제 발생) => 연관된 엔티티를 조회해야 한다면, fetch join 또는 엔티티 그래프 기능 사용 => @OneToOne, @ManyToOne 관계는 기본이 즉시로딩이므로 직접 지연로딩으로 설정해야함 3. 컬렉션은 필드에서 초기화하자 => 컬렉션은 필드에서 바로 초기화 하는 것이 안전하다. => null pointe.. 이전 1 다음