본문 바로가기
강의 정리/스프링 부트와 JPA 활용 1

2. 엔터티 설계시 주의점

by 이석준석이 2020. 12. 26.

1. 엔터티 설계에서는 가급적 Setter를 사용하지 않는다.

 

2. 모든 연관관계는 Lazy로 세팅한다.

  • Eager로 많이엮여있으면 하나를 가져올 때 모두를 가져오는 문제가 생길 수 있다.
    • Lazy + [fetch join/entity graph] 을 사용해라
  • 특히 JPQL을 사용할 때 N+1 문제가 자주 발생한다.
  • @XToOne(OneToOne, ManyToOne) 은 기본 전략이 Eager이므로 꼭 Lazy로 설정해야한다.

3. 컬렉션은 필드에서 초기화해라

 

4. 하이버네이트 테이블, 컬럼명 생성 전략 (SpringPhysicalNamingStrategy)

  • camelCase -> underscore
  • 점(dot) -> underscore
  • 대문자 -> 소문자

5. Cascade

'강의 정리 > 스프링 부트와 JPA 활용 1' 카테고리의 다른 글

3. 변경 감지와 병합  (0) 2021.01.05
1. 환경설정  (0) 2020.12.25