강의

멘토링

커뮤니티

Inflearn Community Q&A

jeetkn's profile image
jeetkn

asked

Solid backend NestJS, from basics to advanced

Repository pattern and layer separation

entity와 repository의 차이?

Written on

·

486

1

안녕하세요. repository패턴에 대하여 잘 들었습니다.

제가 알고있던 entity와 repository의 기능이 비슷한것 같아 질문드립니다.

entity와 repository가 기능적으로 어떤 차이가 있나요??

TypeORM에서는 자동으로 repository를 생성해준다고 하는데 TypeORM에서의 entity와 repository는 차이가 있을까요??

혹시 관련 자료 있으시면 첨부해주시면 감사하겠습니다.

ssrNestJSexpressnodejsmongodb

Answer 2

1

amamov님의 프로필 이미지
amamov
Instructor

Mongoose를 사용하면 레포지토리를 제공하지 않지만 TypeORM을 사용할 경우, MongoDB와는 달리 DI시에 바로 레포지토리를 하여 사용할 수 있습니다.(기본적으로 TypeORM 사용하는 방식입니다.) 따로 커스텀을 해서 레포지토리를 만들 수도 있습니다.

https://typeorm.io/#/custom-repository/custom-repository-extends-standard-repository

사실 MongoDB는 Javascript 문법과 유사하여 레포지토리를 제공하지 않아도 findById, find 등 유용한 메서드가 Mongoose 모델 레이어에서 제공해줍니다.

엔터티 및 스키마는 DB 테이블과 연결이 되고 레포지토리는 행위(메서드)에 집중된 개념입니다.

jeetkn님의 프로필 이미지
jeetkn
Questioner

이해했습니다!! 감사합니다!!

0

jeetkn님의 프로필 이미지
jeetkn
Questioner

mongoose를 사용할 경우 schema가 entity역할을 하는걸까요??

amamov님의 프로필 이미지
amamov
Instructor

네 맞습니다!

jeetkn's profile image
jeetkn

asked

Ask a question