[TypeORM] @Many-to-One & @One-to-Many를 활용하여 @Many-to-Many Relations 구현

개발/TypeORM 2021. 9. 7. 08:20

TypeORM을 통해 Table간 Relation을 구성하다보면 N : N의 관계로 구성을 해야될 때가 있다. TypeORM의 공식 문서를 확인해보면 N : N을 구성하는 법은 다음과 같다. // category.entity.ts import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; @Entity() export class Category { @PrimaryGeneratedColumn() id: number; @Column() name: string; } // question.enetity.ts import {Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable} from "typeorm..

[TypeORM] @Many-to-Many 저장하고 불러오기

개발/TypeORM 2021. 9. 3. 08:20

서로 다른 두 개의 Entity(Story, Tag)에서 Story와 Tag를 @Many-to-Many로 Relation을 생성하고 @JoinTable을 통해 StoryId와 TagId를 JOIN하는 테이블을 생성하였다. 이러한 상황에서 JOIN 시킨 테이블에 StoryId와 TagId를 저장하는 순서는 다음과 같다.(태그 3개, 스토리 1개를 DB에 저장하는 상황으로 가정한다.) 1. Tag1, Tag2, Tag3를 각각 Tag 테이블에 저장한다. 2. Story를 저장할 때, Story.tags로 JoinTable한 부분에 Story.tags = [Tag1, Tag2, Tag3]와 같이 입력하여 Story 테이블로 저장한다. 위의 과정을 코드로 구현하면 다음과 같다. const tag1 = new T..