사전적 의미
엔티티는 개체를 의미하며, 사람이 생각하는 개념이나 정보 단위와 같은 현실 세계의 대상체, 실세계에 존재하는 유형 혹은 무형 정보의 대상이며 서로 구별이 되는 하나하나의 대상을 의미함
컴퓨터 과학 분야에서의 의미
database table과 매핑되는 class를 의미
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
DeleteDateColume
} from "typeorm"
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number
@Column()
firstName: string
@Column()
lastName: string
@CreateDateColumn()
createdAt: Date
@UpdateDateColumn()
updatedAt: Date
@DeleteDateColume()
deletedAt?: Date | null
}
@PrimaryColumn()
직접 값이 설정되는 기본키 정의(기본값으로 숫자 또는 문자열 유형 사용 가능)
@PrimaryGeneratedColumn()
자동으로 증가하는 숫자형 기본키 정의
@PrimaryGeneratedColumn('uuid')
uuid를 기본키로 사용
* 여러 컬럼을 조합하여 하나의 기본키 정의 가능
type: 데이터 타입 지정
length: 문자열 타입의 컬럼에 대해 길이 지정
nullable: 컬럼이 NULL값을 허용할지 여부를 지정(기본값 false)
default: 컬럼의 기본값 지정
unique: 컬럼의 값이 고유해야 하는지에 대한 여부 설정(기본값 false)
primary: 기본키인지 여부 설정, @PrimaryColumn()이나 @PrimaryGeneratedColumn() 대신 사용
name: 데이터베이스 테이블에서 사용할 컬럼명 지정
timestamp: 타임스탬프 값을 저장
* 1970년 1월 1일 UTC를 기중으로 한 경과 시간을 초 단위로 저장
(저장:'2024-05-29 14:33:21', 내부적으로: '1701239601')
datetime: 날짜와 시간을 저장(MySQL, PostgreSQL 등 여러 데이터베이스에서 사용)
date: 날짜만 저장
time: 시간만 저장
year: 연도만 저장
[참고]
https://namu.wiki/w/%EC%97%94%ED%8B%B0%ED%8B%B0
https://simple-coding-place.tistory.com/57