TIL 06/28/2022

songunnie·2022년 6월 28일
0

TIL

목록 보기
19/19

프로젝트 2일차
개망했다. 너무 어렵다.... 배운적이 없으니 뭘 할 수가 없네.....ㅎ...
팀원들 다 시간이 지날 수록 멘붕이 아니라 가루가 되어감을 느낀다ㅋㅋㅋㅋ....으아아아아........진짜 어떡하지.


양방향 매핑 정리

단순하게 정리하면 양방향 매핑에서 아래 내용을 생각하면서 매핑하면 된다.

  • 두 객체 연관관계 중 테이블 외래키를 관리하는 쪽을 연관관계의 주인이라 한다.
    • 보통 외래키가 저장되는 테이블을 연관관계 주인으로 설정한다.
  • 연관관계 주인만이 DB 연관관계와 매핑되고, 외래키를 관리(등록, 수정, 삭제)할 수 있다.
  • 연관관계 주인의 mappedBy 속성을 사용하지 않음.
  • 연관관계 주인이 아니면 mappedBy 속성으로 연관관계의 주인을 지정해주어야 한다.
  • @ManyToOne 은 항상 연관관계의 주인이되고, mappedBy 속성을 설정 조차 할 수 없다.
    • DB 다대일 관계에서 '다'측에 외래키가 저장되기 때문.

연관관계 편의 메소드

양방향 연관관게는 양 쪽 객체를 모두 신경써야 하는데,
하나의 메소드에서 양측에 관계를 설정하제 해주는 것이 안전하다.
이렇게 한번에 양방향 관계를 설정하는 메소드를 연관관계 편의 메소드 라고 부른다.

연관관게 편의 메소드를 작성할 때 주의사항

  1. 다대일측(User)에서 연관관계를 지정할 때 기존 연관관계는 끊어주어야 한다.
  2. 연관관계를 저장할 때 무한 루프를 주의해야 한다.
  3. toString()에서도 무한 루프에 걸릴 수 한다.
profile
코베베

0개의 댓글