TypeORM은 Node.js, Browser, React Native 플랫폼 등에서 JS,TS와 함께 사용할 수 있는 ORM이다.
소규모 데이터베이스부터 대규모 엔터프라이즈 어플리케이션을 개발하는데 도움이 되는 추가 기능을 제공하는 것을 목표로 하고, 다른 ORM과 달리 액티브 레코드 패턴과 데이터 매퍼 패턴을 모두 지원하여 확장 가능하며 유지보수가 가능한 어플리케이션을 가장 생산적인 방법으로 작성할 수 있다.
액티브 레코드 패턴?
모델 자체 내에서 모든 쿼리 메서드를 정의하고 모델 메서드를 사용하여 오브젝트를 생성,삭제,조회,수정할 수 있게 하는 방식을 의미한다.
데이터 매퍼 패턴?
"레포지토리" 라는 별도의 클래스에서 모든 쿼리 메서드를 정의하고 이 "레포지토리"를 사용하여 오브젝트를 생성, 삭제, 조회, 수정할 수 있다.
액티브 레코드 패턴과 같이 User 모델을 정의해준다.
차이점은 User 모델을 BaseEntity로 확장하지 않는다.