Spring

ORM

KimJye 2020. 1. 14. 23:00

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 문법을 사용하지 않는다.