<aside> 💡 어떤 프로퍼티끼리 연결할건지 적어준다. 양쪽 테이블에 모두 적어주는 듯

</aside>

// userModel 입장

@OneToOne(() => ProfileModel, (profile) => profile.user)
  profile: ProfileModel;

// ProfileModel의 입장
// 실제 relation ship을 할 Model
  // 이렇게 해놓으면 ProfileModel의 데이터들을 user.profile을 통해서 가져올 수 있다.
  @OneToOne(() => UserModel, (user) => user.profile)
  user: UserModel;

<aside> 💡 어느한 테이블은 상대방 테이블의 아이디를 갖고 있어야한다. 어느 테이블에서 상대방 테이블의 아이디를 갖고 있을지 개발자가 정해준다.

</aside>

Get 요청할때 다른 테이블도 가져오는 법

@Get('users')
  getUsers() {
    return this.userRepository.find({
      relations: {
        profile: true,
      },
    });
  }

스크린샷 2023-11-08 오후 9.09.01.png


// profileModel
@OneToOne(() => UserModel, (user) => user.profile)
  @JoinColumn()
  user: UserModel;

// userModel
@OneToOne(() => ProfileModel, (profile) => profile.user)
  profile: ProfileModel;

<aside> 💡 One To One시 @JoinColumn을 적어놓은곳에 상대방 Table의 아이디가 생긴다.

</aside>