[내일배움캠프_Spring] 자바 Spring 입문_연관 관계_230120

2023. 1. 23. 23:56·스파르타 부트캠프(spring)

연관 관계 매핑

: 엔티티들은 서로 관계가 구성되어 있다. (Team 엔티티와 Member 엔티티 -> Team은 여러 MEmber를 가지는 관계이다. )객체의 참조와 테이블의 외래키를 매핑

  • JPA개념
  • 객체지향 프로그램에서의 개체와 RDB에서의 테이블이 서로 연관관계를 맺는 방법이 다르기 때문에 이 둘의 차이를 채우기 위한 매핑과저이 필요하고 이를 ORM인 JPA가 수행
방향(Direction) : 단방향 연관관계, 양방향 연관관계


다중성(Multiplicity) : 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M)

 

 

방향

단방향 관계 : 두 엔티티가 관계를 맺을 때, 한 쪽의 엔티티만 참조하고 있는 것

양방향 관계 : 두 엔티티가 관계를 맺을 때, 양 쪽이 서로 참조하고 있음.
  • 단방향 관계 

  •   객체 단방향 연관 관계 :  참조를 통해 연관된 객체를 찾는다. [ A 가 B를 참조할 때, B ->A는 안됨 ]
  •   테이블 단방향 연관 관계 : 외래키로 join -> 연관된 테이블을 조회한다. (양방향 가능)

 

  • 양방향 관계

  • 객체의 양뱡향 연관 관계 : 사실 양방향 관계가 아니라 서로 다른 단방향 관계 2개 [ A -> B(a.getB()), B -> A(b.getA()) ]
  • 테이블 양방향 연관 관계 : 양방향 참조는 외래키 하나로 연관관계를 가진다.(양쪽으로 조인 가능.)

 

 

다중성

: 어떤 엔티티를 중심으로 바라 보느냐에 따라 다중성이 다르다. 

One To One : 일대일(1 : 1)

One To Many : 일대다(1 : N)

Many To one : 다대일(N : 1)

Many To Many : 다대다(N : N)
  • 엔티티 자신을 기준으로 다중성을 생각
  • @JoinColumn 어노테이션은 외래 키를 매핑 할 때 사용.

 

'스파르타 부트캠프(spring)' 카테고리의 다른 글

[내일배움캠프_Spring] 자바 Spring 입문_테스트 코드 에러_230126  (0) 2023.01.27
[내일배움캠프_Spring] 자바 Spring 입문_AOP_230125  (0) 2023.01.26
[내일배움캠프_Spring] 자바 Spring 입문_save(), saveAndFlush()_230119  (0) 2023.01.20
[내일배움캠프_Spring] 자바 Spring 입문_Git 브랜치 활용_230118  (0) 2023.01.18
[내일배움캠프_Spring] 자바 Spring 입문_예약어_230116  (0) 2023.01.16
'스파르타 부트캠프(spring)' 카테고리의 다른 글
  • [내일배움캠프_Spring] 자바 Spring 입문_테스트 코드 에러_230126
  • [내일배움캠프_Spring] 자바 Spring 입문_AOP_230125
  • [내일배움캠프_Spring] 자바 Spring 입문_save(), saveAndFlush()_230119
  • [내일배움캠프_Spring] 자바 Spring 입문_Git 브랜치 활용_230118
yeah구리
yeah구리
백엔드를 공부하는 초심자입니다.
  • yeah구리
    개발일지_헤맨만큼 내땅이다
    yeah구리
  • 전체
    오늘
    어제
    • 분류 전체보기 (114)
      • 스파르타 부트캠프(spring) (75)
      • 스파르타 기술면접 (10)
      • 코딩연습 (0)
      • 항해 (10)
      • 개발일지 (4)
        • 개인 회고 (1)
        • 개발로그 (실무) (2)
      • 공부노트 (0)
      • 코딩테스트 (0)
        • 프로그래머스 (0)
        • 백준 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    X(Twitter) API #캐싱 #트러블슈팅 #개발
    비전공개발자 #개발로그 #커리어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
yeah구리
[내일배움캠프_Spring] 자바 Spring 입문_연관 관계_230120
상단으로

티스토리툴바