1. Entity란?
- 엔티티(Entity) = 데이터베이스 테이블과 1:1 매핑되는 클래스.
- 각 필드 = 컬럼, 데코레이터로 스키마를 정의.
- 장점: SQL을 직접 쓰지 않아도 타입 안정성, 관계 매핑, 마이그레이션을 통한 버전관리 가능.
2. 엔티티와 DB 연결
1) 엔티티 정의 -> 테이블 매핑

- @Entity('users') : DB의 users 테이블과 1:1 매핑
- @Column() : 필드 → 컬럼
2) DB 연결 & 엔티티 등록 (AppModule)

3) Repository 자동 생성 & 주입 (UsersModule/Service)

4) 컨트롤러 제작

5) 컨트롤러 기능을 postman 으로 사용

3. 데이터 흐름
- AuthController.register(dto)
- → AuthService.register(dto)
- → UserService.findByUserId(userId) (중복 체크)
- → UserService.registerUser(dtoWithHashedPw)
- → UserRepository.create(dto)
- → TypeORM Repository<User>.save(entity)
- → PostgreSQL INSERT
- ← 저장된 유저 엔티티 반환
- ← 컨트롤러에서 비밀번호 제거 후 JSON 응답
4. 3티어와 2티어 흐름 비교
(1) 2티어

(2) 3티어

'공부 내용 정리' 카테고리의 다른 글
| 합의 매커니즘 분석 (3) | 2025.08.13 |
|---|---|
| Repository란? (0) | 2025.08.12 |
| SQL 고급 기능 (3) | 2025.08.08 |
| SQL 기본 문법 정리 (3) | 2025.08.07 |
| NestJS 스케줄러란? (2) | 2025.08.05 |