DevBoi

[NestJs] TypeOrm 변경 및 Repository 본문

Develop/[NestJs]

[NestJs] TypeOrm 변경 및 Repository

HiSmith 2023. 5. 30. 00:17
반응형

우선 게시물에 대한 Entity를 아래와 같이 바꿨다.

import {
    BaseEntity,
    Column,
    Entity,
    OneToMany,
    PrimaryGeneratedColumn,
  } from 'typeorm';
  import { Record } from './record.entity';
  
  @Entity()
  export class Board extends BaseEntity {
    @PrimaryGeneratedColumn()
    uid: number;
  
    @Column()
    title: string;
  
    @Column({ unique: true })
    userId: string;
  
    @Column()
    nickname: string;
  
    @Column()
    password: string;
  
  }

board.repository.ts

import { Board } from "src/entities/board.entity";
import { EntityRepository, Repository } from "typeorm";

@EntityRepository(Board)
export class BoardRepository extends Repository<Board>{

}

 

자 그러면 Repository를 사용해서, CRUD작업을 해보자

서비스를 지우고 전체적으로 리팩토링을 해보자

 

typeOrm에서 제공하는 findOne메소드를 사용해서 가져온다.

JPA랑 상당히 비슷하다 ㅋ

 

무튼 해당 메소드로 한개의 게시물을 가져오는 API를 구현해보자

이런식으로 만들 건데, async , await는

데이터베이스를 처리할때 비동기로 처리가 될 것이다.

처리되는 시간이 다 끝나고, 결과값을 받을때, async await를 하면 다 처리가 된 값을 받는다.

만약에 붙이지 않으면 처리 중에 값을 받게 되므로 이상하게 된다.

 

따라서 async(비동기) await(처리이후)로 해야한다.

 

아 진행하다가 나온 이슈인데

mysql 과 typeorm의 버전 이슈가있었다.

typeorm의 버전은 0.2.45로 내렸다(공식문서에서 0.2를 사용하라고나와있다 ㅋ)

그럴꺼면 왜 릴리즈 한건가 싶지만 무튼 다음 포스팅에서 정리된 repository와 package json을 다뤄보도록 하자.

 

반응형

'Develop > [NestJs]' 카테고리의 다른 글

[NestJS] Repository Pattern  (0) 2023.06.16
[NestJS] Guard로, 인증 로직 구현  (0) 2023.06.04
[NestJS] MariaDB , TypeOrm 세팅  (0) 2023.05.29
[NestJS] 커스텀 파이프 개발  (0) 2023.05.27
[NestJs] 예외 처리  (0) 2023.05.27