강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

지태관님의 프로필 이미지
지태관

작성한 질문수

탄탄한 백엔드 NestJS, 기초부터 심화까지

Repository 패턴과 레이어 분리

entity와 repository의 차이?

작성

·

486

1

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

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

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

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

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

답변 2

1

윤상석님의 프로필 이미지
윤상석
지식공유자

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

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

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

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

지태관님의 프로필 이미지
지태관
질문자

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

0

지태관님의 프로필 이미지
지태관
질문자

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

윤상석님의 프로필 이미지
윤상석
지식공유자

네 맞습니다!

지태관님의 프로필 이미지
지태관

작성한 질문수

질문하기