관리자 글쓰기
Mybatis의 장점, 단점 Jpa의 장점, 단점
2023. 1. 27. 15:44 - DoosanBaek

Mybatis의 장점

1. 접근이 쉽고 코드가 간결하다.

2. SQL문과 프로그래밍 코드가 분리되어 있어서, SQL 문에 변경이 있을때마다 자바 코드를 수정하거나 컴파일 하지 않아도 된다.

3. 다양한 프로그래밍 언어로 구현이 가능하다.(이식성이 뛰어나다) 

Mybatis의 단점

1.스키마 변경 시 SQL 쿼리를 직접 수정해 주어야 한다.

2. 반복된 쿼리가 발생하여 반복 작업이 있다. 

3. 쿼리를 직접 작성하기 때문에 데이터 베이스에 종속된 쿼리문이 발생할 수 있다. 

4. 데이터 베이스 변경 시 로직도 함께 수정해 주어야 한다.

 

JPA 란? 

1. Java ORM 기술에 대한 API 표준 명세이다.

구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다.

- ORM(Object - Relational Mapping) 

 Class 와 RDB(Relational DataBase) 의 테이블을 매핑한다는 뜻

객체를 RDB 테이블에 자동으로 영속화 해주는 것

2. 구현체로는 Hibernate, EclipseLink , Data Nucleus가 있으며 Hibernate 가 가장 대중적이다.

 

JPA의 장점, 단점

장점

1. 쿼리를 하나하나 작성할 필요가 없어서 코드량이 줄어든다.

2. 가독성이 좋다.

3. 간편하게 수정이 가능하다.( 유지보수, 리펙토링에 유리)

4. 동일한 쿼리에 대한 캐시 기능을 사용하기 때문에 더욱 높은 성능을 낼 수 있다.

 

단점

1. 매핑 설계를 잘못했을 때 성능 저하가 발생 할 수 있다.

2. JPA를 제대로 사용하려면 알아야 할 것이 많아서 학습하는데 시간이 오래 걸린다.

3. 다수의 테이블 조인시 신경써야 할 것이 많다.