ORM Object Relational Mapping의 약자. 객체 지향 언어를 사용해서 서로 호환되지 않는 타입간의 데이터를 변환 RDBMS 객체를 특정언어(java, JS등등)의 객체와 매핑하는 기술 즉, 객체와 테이블간의 패러다임 불일치 문제를 개발자 대신 해결해줌 RDBMS를 객체 지향 DB로 가상화 하는 효과가 생김. ORM으로 얻는 것들 DB의 추상화 → 특정 DB에 종속된 표현 없어짐. → DB 변경에 유연해진다. 즉, vendor에 종속적이지 않게 됨. 객체의 이점을 활용: 객체간 참조, type-safety 관심사 분리: DB 동작에 관한 코드 작성의 반복을 최소화하고 비즈니스 로직에 집중 단점 속도가 느려짐. 생 쿼리를 날리는 것들에 비해 문제가 많음. N+1 problem. 복잡한 쿼리를 날리면 생 쿼리를 날리는 것보다 많은 쿼리를 날리는 문제.