orm mapping

ORM 변환 계층

ORM은 객체 모델과 테이블 모델의 차이를 매핑한다. 개발자는 엔티티와 리포지토리로 작업하고, SQL 생성과 결과 변환은 ORM이 담당한다.

변환의 의미: 클래스 필드 ↔ 테이블 컬럼경계가 보이면 TypeORM의 역할이 분명해진다.

ORM을 쓰는 이유

01타입과 자동완성

엔티티 필드가 코드 편집기에서 바로 보인다.

02반복 쿼리 감소

CRUD 기본 작업을 리포지토리 API로 처리한다.

03관계 표현

엔티티 관계를 코드 구조로 드러낼 수 있다.

객체 세계와 DB 세계의 대응

객체 코드TypeORM 매핑데이터베이스
User class@Entity()users table
email property@Column()email column
repository.save()INSERT 또는 UPDATE 생성row 저장
repository.find()SELECT 생성row를 객체로 변환