강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Relation 이용해서 데이터 생성해보기

@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이

작성

·

72

0

@JoinColumn을 명시하는 경우가 있고 그렇지 않은 경우가 있는데
무슨 차이인가요?

단순히 아래처럼 컬럼 명을 명시해주기 위해서 @JoinColumn이 사용되는 걸까요?
@JoinColumn({ name: 'author_id' })

퀴즈

관계형 데이터베이스에서 '외래 키(Foreign Key)'는 주로 어떤 목적으로 사용될까요?

컬럼의 데이터 타입을 정의하기 위해

서로 다른 테이블 간의 관계를 연결하기 위해

데이터의 암호화를 강제하기 위해

컬럼에 기본 값을 자동으로 설정하기 위해

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. oridori2705님.

@JoinColumn 데코레이터는 TypeORM에서 관계를 설정할 때 사용됩니다. 주로 외래 키를 명시하기 위해 사용되며, 외래 키 이름을 명확히 정의하고 싶을 때 매우 유용합니다. @JoinColumn을 사용하지 않을 때 TypeORM은 자동으로 관계 칼럼의 이름을 생성합니다. 하지만, @JoinColumn을 명시하면 개발자가 설정한 이름으로 외래 키가 생성되어, 데이터베이스 스키마를 더 명확하게 정의할 수 있습니다.

@JoinColumn을 사용하는 경우

  1. 외래 키 명시: 외래 키의 컬럼명을 명확히 하고 싶다면 @JoinColumn을 사용합니다.
  2. 다중 키 설정: 복합 키 (composite key)를 사용할 경우 @JoinColumn으로 각 컬럼의 이름을 지정할 수 있습니다.
  3. 관계 설정 명확화: 두 테이블 간의 관계를 선명하게 보여주고 싶을 때 사용합니다.

관련된 질문이 여기 있습니다. 질문에서는 외래 키 설정을 포함하여 관계 설정에 대한 다양한 의견을 확인할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

질문하기