[spring] 도메인 분석설계- 엔티티 설계시 주의점 정리

vector13·2022년 3월 24일
0

spring

목록 보기
12/25

엔티티에 가급적 setter 쓰지말자

유지보수가 어렵기 때문에


연관관계 즉시X 지연로딩으로 설정

조회할 시 로딩하는 시점에 다른 엔티티에 있는 필요한 부분을 같이 로딩하는 거 -> 즉시로딩

즉시로딩은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다.
실무에서 모든 연관관계는 지연로딩( LAZY )으로 꼭 꼭 설정!
즉시는 절대로 쓰지 말것. 기본적으로 LAZY로 설정

원하는 거만 fetch조인해서 가져올 수 있음 (실시간으로 최적화 가능)

XTOMany는 기본이 LAZY라 괜찮지만

XToOne(OneToOne, ManyToOne) 관계는 기본이 즉시로딩이므로 직접 지연로딩으로 설정필요!


컬렉션은 필드에서 초기화하는게 안전

null문제로부터 안전.
특히 하이버네이트가 컬렉션 감싸서 내장 컬렉션으로 변경
필드레벨에서 생성하기

profile
HelloWorld! 같은 실수를 반복하지 말기위해 적어두자..

0개의 댓글

관련 채용 정보