연관관계

·2023년 9월 5일

🚀공부노트

목록 보기
6/6

연관관계의 주인

규칙

  • 상대테이블을 가리키는 테이블이 연관관계 주인
  • 연관관계의 주인만이 데이터베이스 연관관계와 매핑되고 외래 키를 관리(등록, 수정, 삭제)할 수 있습니다. 반면에 주인이 아닌 쪽은 읽기만 할 수 있습니다.
  • 연관관계의 주인이 아닌 객체는 mappedBy 속성을 사용해 주인을 지정
  • 외래 키가 있는 곳이 연관 관계의 주인
  • 연관관계 주인의 setter 사용되어야 테이블 연결

ex)

  • 팀의 테이블이 사용자의 테이블을 참조하고 있기 때문에 team 안의 user_id가 외래키
  • 사용자와 팀 사이의 주도권이 팀이 가지게 된다
  • 팀안의 user_id가 없다면? 두 객체는 서로 다른 객체가 된다

DB에선 테이블의 다대일, 일대다 관계에서는 항상 다 쪽이 외래 키를 가집니다. 다 쪽인 @ManyToOne은 항상 연관관계의 주인이 되므로 mappedBy를 설정할 수 없습니다.

0개의 댓글