본문 바로가기
OpenSource/JPA

Study - JPA 소개

by 태하팍 2016. 11. 28.
반응형

주저리 > 

보통 Web Project를할 때 MVC 패턴과 더불어 SQL Mapper인 ibatis, mybatis등을 많이 사용하였습니다.

지금 회사에서도 mybatis가 사용된 프로젝트들이 대다수 입니다.

필드 하나가 추가 되면 dto(vo)를 비롯한 sql등을 수정해주어야하는..

 즉, MVC pattern : View - Controller - Service - Repository(Dao) - SQL까지 전체적인 수정을 요합니다.

이런 노가다적이고 복잡한 것을 JPA에서는 객체모델링을 기반으로 풀어나간다고 합니다.

db 모델링 기반이 아닌 object 모델링!! 

정말 가능한지 한번 알아보겠습니다.


JPA는 무엇인가?

풀어서 알아보면! Java Persistence Api~~자바 진영의 ORM 기술 표준이다.

출처 : https://www.tutorialspoint.com/jpa/jpa_introduction.htm


여기서 ORM이란? Object Relational Mapping 말그대로 관계형 데이터베이스와 객체를 매핑 시켜준다는 것이다.

ORM하면 하이버네이트가 떠오를 것이다.

하이버네이트를 기반으로 새로운 자바 ORM기술 표준이 만들어졌는데 이것이 바로 JPA이다!

그림 - JPA 표준 인터페이스와 구현체

출처 : 책 - 자바 ORM 표준 JPA 프로그래밍

위의 UML을 보면 감이 오는가?


JPA는 왜 사용해야하는가?

1. 생산성

2. 유지보수

3. 패러다임의 불일치 해결

4. 성능

5. 데이터 접근 추상화와 벤더 독립성(Dialect) 

라고 한다. 앞으로 정말 그러한지 알아보도록 하자!



반응형