NodeJS의 경우 Sequelize 또는 TypeORM에 속한다.
객체와 관계형 데이터베이스의 데이터를 자동으로 연결해준다.
자바스크립트같은 객체 지향프로그래밍은 클래스를 사용하는데, 관계형 데이터베이스는 테이블을 사용한다, 이때 서로의 구조간의 불일치가 발생하고 ORM을 활용해서 객체간의 관계를 바탕으로 SQL을 자동으로 생성한다.
ORM이 모든걸 해결해 줄 수 없다. (결국 SQL도 쓸줄 알아야됨)
-> 프로젝트 복잡성이 커질수록 난이도가 올라가고 부족한 설계로 잘못 구현되었을 경우 속도저하 및 일관성을 무너뜨린다.
-> 대형SQL문은 속도를 위해 별도의 튜닝이 필요하기 때문에 결국 SQL문을 써야할수도 있다.
복잡한 쿼리문의경우 SQL문이 더 직관적이면서 효율적일 수 있다.