@ObjectType은 자동으로 스키마를 빌드하기 위해 사용하는 GraphQL decorator이다.
@Entity는 TypeORM이 DB에 entity를 저장한다.
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 |