1. JPA(Java Persistence API)
- 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다.
- 자바 ORM 기술에 대한 표준 명세로 자바에서 제공하는 API이다. ORM을 사용하기 위한 인터페이스를 모아둔 것이며 JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipsLink, DataNucleus 같은 ORM 프레임워크를 사용해야 한다.
- ORM을 이용하면 SQL Query가 아닌 메서드로 데이터를 조작할 수 있다. USER 테이블의 데이터를 조회하기 위해서
SELECT * FROM USER
라는 쿼리를 실행해야 하지만 ORM을 이용하면 USER 테이블과 매핑된 객체를 user라고 할 때 user.findAll()
이라는 메서드 호출로 데이터 조회가 가능하다.
ORM(Object Relational Mapping): 객체-관계 매핑
- 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결) 해주는 것을 말한다.
- 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다.
영속성(Persistence)
- 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성을 말한다.
- 영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종료하면 모두 잃어버리게 된다.
API(Application Programming Interface)
- 프로그램을 만들기 위한 방법을 제공하는 인터페이스이다.
2. JPA 동작 과정
- JPA는 애플리케이션과 JDBC 사이에서 동작한다. 개발자가 JPA를 사용하면 JPA 내부에서 JDBC API를 사용하여 SQL을 호출하여 데이터베이스와 통신한다.
출처:
[DB] ORM이란
JPA(Java Persistence API)의 개념