Study - JPA 소개
주저리 >
보통 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)
라고 한다. 앞으로 정말 그러한지 알아보도록 하자!