TypeORM

Nest.js에서 기본적인 CRUD 조건만 맞추기 위해서는 TypeORM이라는 라이브러리를 사용하곤 한다고 한다. 되게 아무렇지 않게 내 기초 실습 코드에 깊이 관여하고 있는 것을 보아하니 이게 정말 널리 사용되나 했는데 진짜네..


TypeORM

완전 기본적인 CRUD를 비롯한 정말 범용적으로 상당히 많이 사용되는 Query문에 대해 완전히 자동화 시키는 라이브러리이다. 정황상 Nest.js가 아니어도 사용이 가능해보이는데, 현재 내가 만들고 있는 작은 게시판에는 sqlite와 결합되어 사용이 이루어지고 있다.

범용적인 부분을 완전 자동화하는 것은 사실 멀리 있는 아이디어가 아니다. 게임도 자동사냥이 있듯이, 자주 사용하는 것을 더 자주 사용 할 수 있게끔 빠르게 접근하게 하는 것이다. 논외로 예전엔 이런것도 유료였던 때가 있었던 것 같은데 세상이 정말 좋아졌다.

범용에서 오는 잦은 사용은 반대로 범용에서 조금만 벗어나도 그 특출난 장점이 바로 없어진다는 것이다.

서비스 단위로 그 특유의 색깔을 많이 타야하는 쿼리문을 자주 쓴다면 TypeORM은 정말 적합하지 않다. 하지만 CRUD가 멀리 가는가? 기본적으로 이것부터 알아가는 것은 감을 잡는데 많은 도움이 될 것만 같다.

board.entity.ts

@Entity()  // ← TypeORM: 이 클래스가 DB 테이블임을 선언
export class Board {
  @PrimaryGeneratedColumn()  // ← TypeORM: 자동증가 기본키
  id: number;

  @Column()  // ← TypeORM: 일반 컬럼
  title: string;

  @Column('text')  // ← TypeORM: TEXT 타입 컬럼
  content: string;

  @Column()  // ← TypeORM: 일반 컬럼
  author: string;

  @CreateDateColumn()  // ← TypeORM: 생성시간 자동 설정
  createdAt: Date;

  @UpdateDateColumn()  // ← TypeORM: 수정시간 자동 설정
  updatedAt: Date;
}

 

이전 회사에서 Windows Form 관련 작업으로 DevExpress라는 라이브러리를 썼었는데 범용성과 그 특유의 한계가 명확한 규정 되어있다는 점에서 비슷한 결인 것 같다.

 

'with Nest' 카테고리의 다른 글

Nest.js 얼렁뚱땅 게시판 #3  (4) 2025.06.16
Nest.js 얼렁뚱땅 게시판 #2  (2) 2025.06.16
Nest.js 얼렁뚱땅 게시판 #1  (3) 2025.06.16