강의

멘토링

로드맵

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

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

작성한 질문수

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

Repository 패턴과 레이어 분리

entity와 repository의 차이?

작성

·

502

1

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

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

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

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

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

퀴즈

민감한 데이터(예: 데이터베이스 URI)를 코드에 직접 노출하는 대신 권장되는 안전한 방법은 무엇일까요?

하드코딩하여 사용합니다.

환경 변수를 사용합니다.

주석으로 처리해둡니다.

별도의 파일에 확장자 없이 저장합니다.

답변 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역할을 하는걸까요??

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

네 맞습니다!

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

작성한 질문수

질문하기