ORM은 Object Relation Mappin의 약자다.
Object는 객체, Relation은 관계형 데이터베이스의 데이터, Mapping은 객체와 관계형 데이터베이스의 데이터를 서로 변환해준다.
종류에는 Mybatis, JPA, Hibernate 등이있다.
Mybatis vs JPA
Mybatis의 장점
- 익숙한 SQL 문법으로 구현할 수 있다.
- DB 조회결과를 복잡한 객체 구조로 변환해야 할 때 ResultMap기능을 쓰면 편하다
Mybatis의 단점
- 구현해야할 소스코드양이 상대적으로 많다
- 관계형 데이터베이스에서만 사용가능하다
- DBMS 제품마다 SQL 문법이 조금씩 다르다. 따라서 DBMS 제품을 교체하려면 SQL 문장도 수정해야 된다.
JPA의 장점
- SQL 문법을 사용하지 않아서 DBMS 제품을 교체하더라도 소스코드를 수정할 필요가 없다.
- 구현할 소스코드양이 상대적으로 적다
- 관계형 데이터베이스 외에도 사용 가능하다
JPA의 단점
- SQL 문법을 사용하지 않는다.