엔티티 설계시 주의점

@t189216·2024년 3월 20일

Spring Boot

목록 보기
6/9
  1. 엔티티에는 가급적 setter를 사용하지 말자.

  2. 모든 연관관계는 지연 로딩(LAZY)으로 설정하자.
    즉시 로딩(EAGER)은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다.
    연관된 엔티티를 함께 DB에서 조회하면, fetch join이나 엔티티 그래피 기능을 사용한다.
    ❗️ @OneToOne, @ManyToOne 관계는 기본이 즉시로딩이므로 직접 지연로딩으로 설정해야 한다.

    즉시 로딩 ?


    Member를 조회할 때 연관된 Order를 전부 다 조회함.

  3. 컬렉션은 필드에서 초기화 하자.
    null 문제에서 안전하다.

  4. 테이블, 컬러명 생성 전략

  • 스프링부트 신규 설정(엔티티(필드) ➡️ 테이블(칼럼))
    • 카멜 케이스 ➡️ 언더스코어(memberPoint ➡️ member_point)
    • . ➡️ _
    • 대문자 ➡️ 소문자
profile
Today I Learned

0개의 댓글