- ORM이란
- **Object Relational Mapping(객체-관계-매핑)**의 약자
- 즉, 객체와 데이터베이스의 관계를 매핑해주는 도구
- MVC 패턴에서 모델을 기술하는 도구
- ORM 사용 이유
- 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터베이스는 테이블을 이용하므로 객체 모델과 관계형 모델의 불일치 발생
- ORM을 이용하면 데이터베이스 접근을 프로그래밍 언어의 관점에서 가능
- 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결
- ORM 장점
- 직관적인 코드와 비즈니스 로직 집중 가능
- ORM을 사용하면 SQL이 아닌 메서드로 데이터 조작 가능
- SQL문이 작성되지 않기 때문에 가독성이 향상됨
- 재사용 유지보수 편리성 증가
- 디자인 패턴을 견고하게 만드는 데 유리함
- 독립적으로 작성되며 객체들을 재사용할 수 있기 때문
- DBMS 종속성 저하
- 객체 관계를 바탕으로 SQL을 생성하기 때문에 모델 사이의 간격을 줄임
- 개발자는 객체에 집중하므로 DBMS를 다루더라도 시간을 적게 투자할 수 있으며 리스크도 줄일 수 있음
- ORM 단점
- ORM으로만 서비스를 구현하기 어려움
- 사용하기는 편리하지만 신중하게 설계해야함
- 프로젝트가 복잡성이 올라가면 함께 복잡성이 올라감
- 잘못 구현된 경우 일관성이 무너질 수 있음