TypeORM

2025. 5. 3. 15:28·TypeORM

ORM(Object Relational Mapping)

ORM은 SQL을 사용하지 않고 프로그래밍 언어를 사용해 데이터를 다룰 수 있게 하는 기술입니다.

 

ORM의 기본 개념은 객체 지향 언어와 관계형 데이터베이스의 사상의 불일치를 해결하기 위한 기술이지만

현실적으로는 SQL을 배우기 귀찮아서 쓴다고 생각합니다.

ORM의 장점

SQL을 직접 작성하지 않아도 됩니다.
데이터베이스가 추상화 되기 때문에 데이터베이스를 변경하기 쉽고, 데이터 이관도 쉬워집니다.

ORM의 단점

SQL을 모르는 상태로 ORM만 배우면 어떤 쿼리가 좋은 쿼리인지 알 수 없기 때문에 좋은 성능의 코드를 작성하기 어렵습니다.

데이터베이스의 내부 동작 원리를 안 배우게 될 가능성이 높습니다.(근데 이건 'SQL'만 아는 상당수의 개발자들도 똑같긴 합니다)

TypeORM을 사용하는 이유

보통 백엔드 개발자들은 Java나 C#을 많이 사용하는데, 이 개발자들에게 가장 익숙한 구조의 ORM이 TypeORM입니다.

TypeORM의 장점

타입 안전성: 막상 찾아보면 지원 안 한다는데...
데코레이터: 데코레이터를 사용하여 복잡한 기능을 간단하게 사용할 수 있습니다.
레포지토리 패턴: 간단한 CRUD는 레포지터리에서 자동지원합니다.
마이그레이션: 데이터베이스 스키마 변경을 자동 관리하고, 이력도 관리해줍니다.

Active Record 패턴과 Data Mapper 패턴을 모두 지원합니다.

Active Record 패턴과 Data Mapper 패턴

Active Record 패턴은 엔티티 파일에 데이터베이스 작업을 같이 작성하는 것을 말합니다.

Data Mapper 패턴은 엔티티 파일이 아닌 다른 파일에 데이터 베이스 작업을 작성하는 것을 말합니다.

저작자표시 (새창열림)

'TypeORM' 카테고리의 다른 글

관계(Relation)  (0) 2025.05.07
저장소(Repository)  (0) 2025.05.04
엔티티(Entity)  (0) 2025.05.04
TypeORM 환경 설정  (0) 2025.05.04
'TypeORM' 카테고리의 다른 글
  • 관계(Relation)
  • 저장소(Repository)
  • 엔티티(Entity)
  • TypeORM 환경 설정
남느
남느
  • 남느
    남느
    남느
  • 전체
    오늘
    어제
    • 분류 전체보기 (64)
      • 프로그래밍 (15)
      • 웹 기초 지식 (2)
      • Node.js 기초 (1)
      • 알고리즘(Node.js) (1)
      • NestJS (19)
        • NestJS 문서화 (13)
        • NestJS 레시피 (2)
        • NestJS 게시판 API 프로젝트 (4)
      • TypeORM (5)
      • 우분투 적응기 (8)
      • 리눅스 답은 하모니카다 (4)
      • 자바 (1)
      • 살다보니 드는 생각들 (2)
      • 도커 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발자
    웹
    취업
    프로그래머
    신입
    백엔드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
남느
TypeORM
상단으로

티스토리툴바