자바 ORM 표준 JPA 프로그래밍(인프런)

Ch05. 연관관계 매핑 기초 - 단방향 연관관계

webmaster 2021. 12. 12. 11:19
728x90

객체와 테이블 연관관계의 차이를 이해

객체의 참조와 테이블의 외래 키를 매핑

  • 방향(Direction): 단방향, 양방향
  • 다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해
  • 연관관계의 주인(Owner): 객체 양방향 연관관계는 관리 주인 이 필요

객체를 테이블에 맞추어 모델링

연관관계가 없는 객체
Member Entity -> 외래키를 Table과 똑같이 가지고 있다.
Team Entity -> 외래키를 Table과 똑같이 가지고 있다.

  • 참조가 아닌 외래키 값을 그대로 가지고 있다(문제가 많은 코드)

저장, 조회 문제

진정한 객체지향 방식이 아니다(테이블설계에 맞춰 코드를 작성할 수 밖에 없다)

  • 테이블과 객체의 페러다임
    • 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾는다.
    • 객체는 참조를 사용해서 연관된 객체를 찾는다
    • 테이블과 객체 사이에는 이런 큰 간격이 있다

단방향 연관관계

단방향 연관관계 -> ORM 매핑
객체의 참조와 테이블의 외래키를 매핑
저장,조회 로직 또한 객체지향적으로 변경되었다.

  • Team을 다시 조회하는 것이 아닌 조회를 할 때, Join 해서 가지고 온다.

 

728x90