data boundary

TypeORM을 사용한 데이터베이스 연동 데이터 경계

컨트롤러는 HTTP 요청을 받고, 서비스는 업무 규칙을 적용하며, 리포지토리는 DB 작업을 담당한다. 이 경계를 지켜야 데이터 코드가 흩어지지 않는다.

경계: Controller ≠ SQL 작성 위치DB 세부사항은 repository 뒤에 둔다.

요청에서 테이블까지

1Controller

DTO를 받아 서비스에 의도를 전달한다.

2Service

검증된 입력으로 업무 규칙과 트랜잭션 경계를 정한다.

3Repository

엔티티 단위 CRUD와 조건 조회를 수행한다.

4Table

TypeORM이 SQL로 바꿔 관계형 DB와 통신한다.

다음에 이어질 확장 지점

01relations

엔티티 사이 관계를 어떻게 가져올지 결정한다.

02transactions

여러 변경을 하나의 성공/실패 단위로 묶는다.

03query builder

복잡한 조건과 조인이 필요할 때 사용한다.