관계형 데이터베이스 (Oracle, MySQL, MSSQL 등)와 객체지향 프로그래밍 언어의 패러다임 불일치
- 관계형 데이터베이스 : 어떻게 데이터 저장할지에 초점 맞춰짐
- 객체지향 프로그래밍 언어 : 기능과 속성을 한 곳에서 관리하는 기술
JPA 사용시
- 중간에서 패러다임 일치시켜줌
- 개발자는 객체지향적으로 프로그래밍함, JPA가 SQL 대신 생성해서 실행함
- SQL 종속적인 개발 안해도 됨
Spring Data JPA
- 구현체들을 쉽게 사용하기 위해 추상화시킨 Spring Data JPA 모듈을 이용해 JPA를 다룸
- JPA <- Hibernate (와 같은 구현체) <- Spring Data JPA
- 구현체와 저장소를 교체하기 쉬움