객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하기레 객체 모델과 관계형 모델 단에 불일치가 존재합니다. ORM은 객체 관의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결 해줍니다.
즉, 코드에 있는 "객체"와 DB에 있는 "데이터"를 편하게 일치시켜주는 도구입니다.
완벽한 ORM으로만 서비스를 구현하기가 어렵습니다. ORM이 사용하기는 편하지만 프로젝트의 복장성이 커질 경우 난이도 또한 올라가고 만약 잘못 구현된 경우에 속도 저하 및 심각할 경우 일관성이 무너지는 문제점이 생길수 있습니다.