JPA는 Java Persistence API의 준말이다.
ORM(Object Relational Mapping=객체 관계 매핑 기술)의 표준으로, 인터페이스(API!)를 모아둔 패키지이다.
데이터를 애플리케이션이 실행될 때 계속 유지하도록 도와준다.
JPA는 API(인터페이스)이므로 구현체가 필요하다.
이를 구현한 것에는 대표적으로 Hibernate, EclipseLink, DataNucleus가 있다.
Spring이 JPA를 정말 잘 사용하고 있는 예인데,
Java의 JPA를 Spring이 더 잘 사용할 수 있도록 도와주는 Plugin이 Spring Data JPA이다.
우리는 이런 식으로 Spring에서 JPA를 사용하고 있다고 생각하면 된다!
일단 JPA에 대해서 알아보자.
JPA는 SQL과 JAVA의 패러다임 불일치를 해결해준다.
객체지향적으로 프로그래밍하는 Java와 관계형 데이터베이스인 SQL 사이의 간극을 중간에서 해결해주는 역할을 한다.
객체지향 JAVA 애플리케이션을 개발자 대신 SQL문으로 치환해준다.
다음으로 JPA가 어떻게 동작하는지 알아보자