TypeORM Entity
2020. 10. 3. 22:38ㆍDEV/TypeORM
반응형
Entity
- 데이터베이스에 매핑되는 클래스 : Table, Collection 등
Embedded Entities
기본 생성
@Entity 로 표기하고 @Column 으로 항목 설정
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: string;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
isActive: boolean;
}
Import 기능
반복되는 항목을 별도 클래스로 생성하여 코드 간단화 가능
import {Column} from "typeorm";
export class Name {
@Column()
first: string;
@Column()
last: string;
}
위 클래스를 임포트해서 Entitiy에 적용
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
import {Name} from "./Name";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: string;
@Column(type => Name)
name: Name;
@Column()
isActive: boolean;
}
Inheritance Entities
목표 Entity 설정
@Entity()
export class Photo {
@PrimaryGeneratedColumn()
id: number;
@Column()
title: string;
@Column()
description: string;
@Column()
size: string;
}
@Entity()
export class Question {
@PrimaryGeneratedColumn()
id: number;
@Column()
title: string;
@Column()
description: string;
@Column()
answersCount: number;
}
Concrete Table Inheritance
추상 클래스로 공통 항목을 가진 클래스 생성
export abstract class Content {
@PrimaryGeneratedColumn()
id: number;
@Column()
title: string;
@Column()
description: string;
}
해당 클래스를 상속 받아 적용
@Entity()
export class Photo extends Content {
@Column()
size: string;
}
@Entity()
export class Question extends Content {
@Column()
answersCount: number;
}
[REF]
TypeORM
TypeOrm 기본개념
반응형
'DEV > TypeORM' 카테고리의 다른 글
TypeORM Migration하기 (0) | 2020.10.06 |
---|---|
TypeORM Relations (1) | 2020.10.04 |
TypeORM Pattern (0) | 2020.10.02 |