TypeORM

Antipiebse·2022년 3월 26일
0

다양한 지식

목록 보기
13/21

ORM(Object-relational mapping)이란 객체와 관계를 맵핑해주는 것으로 객체와 관계형 데이터 베이스 속 데이터를 연결해주는 것이다.

why Use?

객체 지향 설계를 할 땐 클래스를 사용하는데 관계형 db에서는 테이블을 이용한다. 즉, 관계 불일치가 일어나게 되는데 이를 ORM으로 해결할 수 있다는 얘기이다.

그렇다면 TypeORM이란?

직접 sql을 작성하지 않아도 db와의 통신을 간편하게 해결해주는 라이브러리로 get, post 등의 메소드를 처리하는데 용이하다. 또한 타입을 정해서 복잡한 모델을 잘 형성할 수 있는 ORM이다. 그렇다고 JS를 지원하지 않는 것은 아니다.

TypeORM의 패턴

Data Mapper(python), Active Record(rails)패턴을 사용할 수 있다고 한다.

  • Data Mapper(python)는 규모가 큰 애플리케이션에서 사용하며 유지보수가 좋다.
  • Active Record(rails)는 규모가 작은 애플리케이션에서 사용하며 가볍다.

Data Mapper(python)패턴

분리된 클래스에 따라 쿼리 메소드를 정의하는 방식으로 Repository를 통해 객체를 저장, 제거, 로드한다.

Active Record(rails)패턴

모델 자체에 쿼리 메소드를 정의한 후 모델의 메소드를 사용하여 객체를 저장, 제거, 로드한다.

두 패턴 모두 공식 문서에 설명이 잘 나와있으니 참고하자!


마치며

아직 이러한 패턴을 사용할 정도로 실력이 좋지도 않고, 클래스로 모델을 구현해 본 적이 거의 없다.. 잘 정리해둔 블로그를 추천한다. 추천 블로그!

profile
백엔드 주니어 개발자

0개의 댓글