정의

ORM이란?

Object Relational Mapping 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법

image

장점

객체 지향적 구조

  • SQL이 아닌 클래스 메서드를 통해 데이터베이스를 조작 가능
  • SQL의 선언, 할당, 종료 같은 부수적인 코드를 줄일 수 있음
  • 객체에 대한 코드를 별도로 작성하여 코드의 가독성 향상

리팩토링 용이

  • 객체지향적이기때문에 리팩토링이 용이하다
  • 매핑하는 정보가 명확하기 때문에 ERD 의존도가 낮음

DBMS 종속성 감소

  • 객체간 관계를 바탕으로 SQL문을 자동 생성하고, 객체의 자료형 타입까지 사용할 수 있어 RDBMS의 데이터 구조와 객체지향 모델의 간격을 줄일 수 있음
  • DBMS 교체 용이

단점

설계의 어려움

  • 프로젝트의 복잡성과 비례하여 난이도 증가
  • 설계가 부족할 경우 속도 및 일관성 저하
  • 일부 자주 사용되는 복잡한 SQL문은 속도를 위한 별도 튜닝이 필요

진입 장벽

  • ORM을 제대로 활용하려면 DBMS에 대한 정확한 이해와 ORM의 작동원리, 순서에 대한 깊은 이해가 바탕이 되어야 함
  • 많은 학습 시간 필요

ORM Frameworks


연결문서

댓글남기기