View on GitHub

programming-study

허원철의 개발 블로그

객체에는 양방향 연관관계라는 것이 없다. 연관관계를 애플리케이션 로직으로 잘 묶어서 양방향인 것처럼 보이게 할 뿐이다.

그렇다면 두 연관관계를 어떻게 묶을까? 테이블은 외래키가 존재한다. 객체에서는 이들 중 하나를 정해서 테이블의 외래키를 관리해야 하는데 이를 연관관계의 주인이라 한다.

규칙

양방향 연관관계

public void setUser(User user) {
    if (user != null) {
        user.getPointHistoryList().add(this);
    }

    this.user = user;
}