최근 수정:
Object Relation Mapping. 줄여서 ORM이라고 한다.
말 그대로 객체(Object)와 관계(Relation)과의 매핑을 위해 사용한다.
관계형 데이터베이스(RDB)를 사용할 때 데이터베이스의 데이터 조작(CRUD[1])를 위해서는 SQL을 작성해야 한다.
만약 SQL을 코드 중간에 넣을 경우 코드의 가독성이 떨어질 수 있고, 사용하는 데이터베이스에 따라 SQL 문법도 조금씩 다르기 때문에 DB 교체 시 코드 전체를 수정해야 하는 문제가 발생할 수 있다. 한마디로 코드가 더럽게 되고 유지보수성이 떨어진다.
ORM을 사용하면 데이터베이스를 바로 접근하지 않으므로 이런 문제를 예방할 수 있다.
ORM을 사용할 경우 특정 DBMS에 종속되지 않으며 생산성, 독립성, 가독성 및 유지보수 측면에서의 장점이 있지만 반대로 SQL을 바로 사용하는 것에 비해 성능이 떨어지고 SQL 튜닝이 어렵다는 단점이 있다.
[1] Create, Read, Update, Delete