KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

리포지토리(Repository)

연결된 노트와 함께 읽기

리포지토리(Repository)

2024년 11월 23일
  • 일반적으로 NestJS에서는 name.repository.ts으로 이름을 설정한다.

  • @EntityRepository()

TypeORM 2버전 이하 문법

  • 생성 시 리파지터리 클래스(class)를 extends 해준다.
TypeScript
import { EntityRepository, Repository } from 'typeorm'; import { Board } from './board.entity'; @EntityRepository(Board) export class BoardRepository extends Repository<Board> { }

TypeORM 3버전 이상 문법

  • 생성 시 리파지터리 @EntityRepository() 데코레이터(Decorator) 대신 @Injectable() 데코레이터를 이용해여, 생성자(Constructor)인 constructor()를 사용하여 Repository 객체(Object)를 DataSource의 createEntityManager() 메서드를 이용하여 리파지터리를 선언한다.
TypeScript

Synapse Map Insight

import { Injectable } from '@nestjs/common'; import { DataSource, Repository } from 'typeorm'; import { Board } from './board.entity'; @Injectable() export class BoardRepository extends Repository<Board> { constructor(dataSource: DataSource) { super(Board, dataSource.createEntityManager()); } }