JPA
ORM 표준 명세
객체와 DB테이블을 매핑하여 데이터를 객체화
- 개발자가 반복적인 SQL 작성 X
- DBMS 종속 X
- 복잡한 쿼리는 jpql 사용하거나 SQL Mapper 혼용 가능
JPA
** spring data jpa 에 관한 설명은 아래 링크 ** https://rainover0824.tistory.com/38 JPA, Spring Data Jpa JPA 핵심 : Persistence 클래스 EntityManager에서 제공하는 API 사용 ex) @Repository @RequiredArgsConstructor public class OrderRepo
rainover0824.tistory.com
MyBatis
자바에서 SQL Mapper를 지원해주는 프레임워크
SQL Mapper
SQL을 직접 작성하고 쿼리 수행 결과를 어떤 객체에 매핑할지 바인딩하는 방법 (DBMS 종속적)
SQL 쿼리를 사용하여 DB에 접근, 데이터를 객체화
SQL 쿼리를 직접 작성하여 쿼리 수행결과를 객체와 매핑
장점
쿼리를 XML로 분리 가능
복잡한 쿼리 작성 가능
최적화된 쿼리 구현 가능
데이터 캐싱 기능으로 성능 향상
Entity에 종속받지 않고 다양한 테이블 조합 가능
단점
스키마 변경 시 SQL쿼리 직접 수정 필요
반복되는 쿼리가 발생
런타임시에 오류 발생 >> 디버깅에 어려움
DB변경시 관련 로직도 모두 수정 필요