Tunko Development Diary

[typeorm] OneToOne 관계에 대해 정리 본문

Development/Typescript | GraphQL | typeorm

[typeorm] OneToOne 관계에 대해 정리

Tunko 2021. 3. 9. 22:37

우선 관계에 대한 설명을 하기위해
엔티티 A, B 가 존재한다.

OneToOne의 관계는 각각의 엔티티가 서로에 대한 정보를 단하나씩만 알고 있음을 의미한다.


A 엔티티도 B를 가지고 있고
B엔티티도 A를 가지고 있다.

하지만 여기서 중요한 부분이 JoinColumn() 이다.
JoinColumn() 는 데이터의 접근에 따라 어느 한쪽엔 필수적으로 선언 되어있어야 한다.

만약 데이터 조회시 B 를 통해서 A 에 대한 정보를 알고싶다면.

@InputType({ isAbstract: true })
@ObjectType()
@Entity()
export class B {
    @PrimaryGeneratedColumn()
    @Field((type) => Number)
    id: number;

    @OneToOne((type) => A)
    @JoinColumn()
    a: A;
}

위처럼 @JoinColumn() 이 들어가야 된다.

반대의 경우라면 A엔티티측에 @JoinColumn()이 들어가야 된다.

링크:
typeorm OneToOne

반응형

'Development > Typescript | GraphQL | typeorm' 카테고리의 다른 글

[GraphQL] Mutation, Query 정리  (0) 2021.03.09
Comments