자바 ORM 기술에 대한 API 표준
JPA는 SQL문을 사용하지 않고 데이터베이스를 관리하게 하는 인터페이스다.
Object Relational Mapping
JPA는 ORM 기술의 표준 방법인 만큼 ORM에 대해서도 알아야 한다.
객체 지향 프로그래밍과 관계형 데이터베이스의 통신에서 패러다임 불일치 문제가 발생한다.
ORM은 객체와 데이터베이스 테이블을 자동으로 매핑하여 문제를 해결한다.
SQL문을 사용하지 않고 객체 지향 언어로 구현 가능
재사용 및 유지보수가 편리하다.
DBMS에 대한 종속성이 줄어든다
대부분의 ORM 프레임워크들은 DB에 종속적이지 않다.
객체에 집중함으로써 DBMS를 교체하는 극단적인 작업에도 비교적 적은 리스크와 시간이 소요된다.
CRUD 기본 기능은 이미 구현이 되어있다.
JPA는 ORM의 API다. JPA API는 Hibernate, EclipseLink, DataNucleus 등의 다양한 프레임워크로 구현되어있다.
MyBatis는 SQL mapping 프레임워크다.
사용자가 작성한 SQL문으로 읽어온 데이터를 객체화한다.
RDB에 따라 SQL 문법이 다르기 떄문에 특정 RDB에 종속적이다.
MyBatis 장점
MyBatis 단점
JPA를 사용하면 객체지향 코딩, 유지보수의 관점에서 유리할 수 있다.
객체지향 언어와 관계형 데이터베이스 사이의 차이를 해소하여 개발자는 객체지향 코드에만 집중할 수 있다.
DBMS의 제한이 없기 때문에 수정이 편리하다.
MyBatics는 SQL문과 객체를 매핑한다. SQL을 별도로 관리하여 자바 코드와 분리한다.