typeorm orm

객체 코드는 엔티티와 리포지토리를 거쳐 테이블에 닿는다

TypeORM은 TypeScript 객체와 관계형 데이터베이스 테이블 사이의 변환을 맡는다. 컨트롤러는 SQL 대신 서비스와 리포지토리 API를 호출한다.

핵심: Object → Entity → Repository → TableSQL 문자열보다 객체 계약이 앞에 온다.

전후 비교로 보는 핵심 차이

beforeRaw SQL 중심

쿼리 문자열과 컬럼 이름을 직접 관리한다.

INSERT INTO users (email) VALUES (...)
afterORM 중심

객체와 메서드로 저장 의도를 표현한다.

userRepository.save({ email })

TypeORM이 데이터베이스에 닿는 길

1Entity

@Entity와 @Column으로 테이블 모양을 코드에 적는다.

2Repository

엔티티별 데이터 접근 API를 제공한다.

3Service

업무 규칙을 적용한 뒤 repository 메서드를 호출한다.

4Database

TypeORM이 쿼리로 바꾸어 테이블과 통신한다.