Spring특강 09

이상인·2023년 8월 7일
0

cascade, ophanRemoval, fetch

언제 단방향 관계를 써야 하느냐?

일대일?

테이블을 꼭 분리해야 하는지 생각해봐라.

null로 만든다 (프로필)
제2정규화가 안되어있는 테이블

특정 상황에 따라 null값이 들어갈 수 있는 경우
profile에 column이 3~4개면 2^3 - 4개의 상태가 생긴ㄷ다

양방향

  • 서로 다 들고 있음
  • 하나를 쓸 때 상대 정보도 가져와야 할 경우가 많을 경우
  • 안전, 그만큼 성능에도 영향을 미칠 여지가 많다.

단방향

  • 한 쪽에서 반대쪽을 가져오는 경우만 필요할 경우

EAGAR가 강제되는 부분?

LAZY가 제대로 LAZY스럽게 작동되느냐

hidbernate show ddl과 같은 쿼리문을 보고 확인해라

Page Vs. Slice

@DynamicInsert

  • null값이 없는 경우에 별로 쓸 일 없음

@DynamicUpdate

  • 필드가 많아지면 느려진다 ( 주의 )

get entity -> set -> save

N+1문제

  • 엔티티 하나를 조회하는데 연관관계 N번이 있어서 조회쿼리문이 N+1번 날아가는 상황

  • 해결방법

    • Fetch Join
    • EntityGraph

0개의 댓글

관련 채용 정보