반응형
JPA (Java Persistence API) 란 ?
JPA는 자바 진영의 ORM (Object Relational Mapping) 기술 표준이다. 여기서 ORM는 객체와 관계형 DB를 매핑하는 것인데 ORM을 사용하게 된다면 객체를 마치 자바 컬렉션에 저장할 수 있고 적절한 SQL을 생성하여 DB에 객체를 저장해준다.
⭐ JPA (Java Persistence API) 장점
RDB에 종류와 상관없이 사용이 가능하다.
DB 변경 및 코드 재활용에 편리하다.
테이블 변경 및 생성 등 엔티티 관리가 편리하다.
Create, Read, Update, Delete 쿼리를 자동으로 생성해준다.
⭐ JPA (Java Persistence API) 단점
단방향, 양방향 임베디드 관계 등을 이해해야하므로 처음에는 어렵다.
복잡한 쿼리 작성이 어렵다
MyBatis 란 ?
MyBatis란 자바 오브젝트와 SQL 사이의 자동 매핑 기능을 지원하는 프레임 워크이다. 그래서 MyBatis는 SQL을 별도의 파일로 분리해서 관리하게 해주어 아직까지 인기가 많은 기술이다.
⭐ MyBatis 장점
JPA 보다 쉽다.
SQL의 세부적인 내용을 변경할때는 간편하다.
동적 쿼리 사용한다면 JPA보다 간편하게 구현 할 수 있다.
⭐ MyBatis 단점
데이터 베이스 설정 변경시에 수정할 부분이 많다.
Mapper 작성부터 인터페이스 설계까지 JPA보다 많은 파일과 로직들이 필요하다.
특정 DB에 종속적이다.
반복적인 작업이 될 수 있다.
반응형
'Back-End > Java' 카테고리의 다른 글
[Spring boot] 이미지, JS, CSS 적용하는 방법 (0) | 2021.07.13 |
---|---|
[Spring] Annotation 정의와 정리 (0) | 2021.07.05 |
[Spring Boot] 스프링 부트 처음부터 시작하기 (0) | 2021.06.26 |
[Spring] 스프링 Security 게시판 및 파일첨부 예제 (1) | 2021.06.24 |
[Spring] 스프링 Security 로그인 예제 (0) | 2021.06.24 |