본문 바로가기

학습 기록/스프링 부트3 백엔드 개발자 되기[자바편]

[05장.2] ORM(Object-relation mapping)

ORM(Object-relation mapping)이란?

: 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법

: 자바 언어로만 데이터베이스를 다룰 수 있게 하는 도구로 데이터베이스를 객체처럼 사용 가능

 

[장점]

1) SQL을 직접 작성하지 않고 사용하는 언어로 데이터베이스에 접근 가능

2) 객체지향적으로 코드를 작성할 수 있기 때문에 비즈니스 로직에만 집중 가능

3) 데이터베이스 시스템이 추상화되어 있기 때문에 MySQL에 PostgreSQL로 전환하더라도 추가 작업이 거의 없어 종속성이 줄어듦

4) 매핑하는 정보가 명확해 ERD에 대한 의존도를 낮출 수 있고 유지보수에 유리

 

[단점]

1) 프로젝트의 복잡도가 커질수록 사용 난이도가 올라감

2) 복잡하고 무거운 쿼리는 ORM으로 해결이 불가능한 경우도 존재