본문 바로가기

Uber Eats

Uber Eats # 10 TYPEORM and Nest, Active Record vs Data Mapper

@ObjectType은 자동으로 스키마를 빌드하기 위해 사용하는 GraphQL decorator이다.

@Entity는 TypeORM이 DB에 entity를 저장한다.

 

Active Record vs Data Mapper 

NestJS Application에서 Data Mapper를 사용하는 이유는 NestJS + TypeORM 개발환경에서 repository를 사용하는 모듈을 사용할 수 있기 때문이다. 또 어디서든 접근 가능하고 대규모 프로젝트에 적합하다. Repository를 통해서 test하고 simulate까지 해볼 수 있다.

 

//Active Record
import {BaseEntity, Entity, PrimaryGeneratedColumn, Column} from "typeorm";

@Entity()
export class User extends BaseEntity {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    firstName: string;

    @Column()
    lastName: string;

    @Column()
    isActive: boolean;

}

------------------------------------------------------
//Data Mapper
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";

@Entity()
export class User {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    firstName: string;

    @Column()
    lastName: string;

    @Column()
    isActive: boolean;

}

 

'Uber Eats' 카테고리의 다른 글

Uber Eats # 12 Create Restaurant  (0) 2021.03.08
Uber Eats # 11 Repository  (0) 2021.03.07
Uber Eats # 9 joi  (0) 2021.03.06
Uber Eats # 8 dotenv  (0) 2021.03.06
Uber Eats # 7 TYPEORM  (0) 2021.03.06