연관관계 매핑

rooni97·2022년 3월 31일
0

다대일 @ManyToOne

방향 정리

  • 테이블은 방향 개념이 없음. 객체는 참조용 필드가 있어야해서 단방향, 양방향
  • 객체 양방향은 참조가 2군데이므로 연관관계의 주인을 정해야함.

다대일 단방향

  • 다 쪽에 외래키가 있어야함. 외래키 있는 쪽이 연관관계의 주인이 됨.

다대일 양방향

  • 연관관계 반대쪽에서 조회용으로 추가

일대다 @OneToMany

  • 굉장히 복잡, 객체지향적으로 손해를 보더라도 다대일 단방향을 양방향으로 바꾸는 식으로 짜는 편
  • JoinColumn을 넣지 않으면 JoinTable(default mode) 방식으로 바뀌어서 운영이 어려움
  • 읽기 전용으로 @JoinColumn(name = "TEAM_ID", insertable=false, updatable=false)
  • 따라서 일대다 단방향보다는 다대일 양방향 매핑을 사용하는 것 권장

0개의 댓글