ORM이란 Object Relational Mapping의 준말로, 객체와 데이터 베이스의 관계를 매핑해주는 도구다. RDB는 객체지향적인 특성이 존재하지 않아, 객체지향적인 언어로 접근하는 것은 어려운 일이다. 이런 이유로 객체 모델과 관계형 모델의 패러다임 불일치가 발생하게 된다.
하지만, ORM을 사용하게 되면, 객체지향적인 언어로도 RDB 를 쉽게 사용할 수 있다!!
ORM의 대표적인 예로, JPA
, Hibernate
등이 있다.
JPA가 등장하기 전, Mybatis
라는 Object Mapping
을 사용했다. Mybatis는 자바의 클래스와 SQL의 쿼리문을 매핑시켜줘야 하는 번거로움이 있었다. 하나의 예로, 우리가 API를 만들 때, 흔히 CRUD라고 부르는 녀석들에 대해 쿼리문을 작성해줘야 했었다. 하지만, JPA의 등장이후 이러한 번거로움이 사라지게 된 것이다. JPA는 기본적인 CRUD 를 자동화해주기 때문이다. 또한, 데이터 베이스와 객체가 직접 연결되어 있기 때문에 따로 쿼리문을 작성해주지 않아도 된다.
참고
https://mangkyu.tistory.com/20
https://gmlwjd9405.github.io/2019/02/01/orm.html