ORM은 "객체 관계 매핑" (Object-Relational Mapping)의 약자로, 소프트웨어 개발에서 객체 지향 프로그래밍과 관계형 데이터베이스 간의 상호 작용을 관리하는 프로그래밍 기술 및 패턴을 의미합니다.
TypeORM은 NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo 및 Electron 플랫폼에서 실행할 수 있고 TypeScript 및 JavaScript(ES5, ES6, ES7, ES8)와 함께 사용할 수 있는 ORM입니다 . 그 목표는 항상 최신 JavaScript 기능을 지원하고 몇 개의 테이블이 있는 소규모 애플리케이션부터 여러 데이터베이스가 있는 대규모 엔터프라이즈 애플리케이션에 이르기까지 데이터베이스를 사용하는 모든 종류의 애플리케이션을 개발하는 데 도움이 되는 추가 기능을 제공하는 것입니다.
TypeORM은 현재 존재하는 다른 모든 JavaScript ORM과 달리 Active Record 와 Data Mapper 패턴을 모두 지원합니다 . 즉, 느슨하게 결합되고 확장 가능하며 유지 관리 가능한 고품질 애플리케이션을 가장 생산적인 방식으로 작성할 수 있습니다.
Active Record 패턴은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나로, 객체 지향 프로그래밍에서 데이터베이스 레코드와 객체를 일치시키는 패턴입니다. 이 패턴은 데이터베이스 테이블의 각 행을 개별적인 객체로 표현하며, 해당 객체는 데이터를 캡슐화하고 데이터베이스와 상호 작용할 수 있는 방법을 제공합니다.
Data Mapper 패턴은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나로, 객체 지향 프로그래밍에서 데이터베이스와 상호 작용하는 데 사용되는 패턴입니다. 이 패턴은 데이터베이스와 독립적인 객체를 유지하고 데이터베이스와의 상호 작용을 분리하여 데이터베이스와 객체 간의 불일치를 해결하는 데 도움이 됩니다.
요약하자면, TypeORM은 TypeScript 및 JavaScript를 사용하는 애플리케이션 개발자에게 데이터베이스 작업을 단순화하고, 코드의 가동성과 유지 보수성을 향상시키며, 타입 안정성과 생산성을 제공하는 강력한 도구 입니다.
참고문헌
https://typeorm.io/