테이블의 연관관계와 객체의 연관관계는 성격이 다르며,이를 고려해서 연관관계 매핑을 해야 한다.

*객체는 **참조(주소)*로 다른 객체를 참조하여 연관관계를 맺는다. JPA에서도 내부적으로 실제 엔티티간(객체간) 관계에서 서로 주소값을 참조 한다.

하지만,테이블은 외래키를 통해서 서로 접근하여 연관관계(참조)를 맺는다.테이블은 한쪽이 외래키를 가지고 있으면 양쪽 모두 참조할 수 있는데 반해,객체는 서로 참조하려면 양쪽다 주소값을 가지고 있어야 한다는 점이 다르다.

일단 , 다대일 간의 관계를 가장 먼저 살펴 보기로 한다.

객체의 연관관계 형태

학원_4-페이지-33_82.jpg

회원 객체와 팀 객체는 단방향 관계다.

단방향 연관관계

일방적으로 한 쪽 객체에서만 참조 가능한 경우이다.

class A { 
  B b;
 }

class B { };

양방향 연관관계

객체를 양방향으로 참조하려면 ,인위적으로 단방향 연관관계를 2개 만들어야 줘야 한다.

class A { 
  B b;
 }

class B {
 A a;
 };

기본 예제

학원_4-페이지-33_99.jpg