<aside> 😊 JPA 정의와 특징에 대해 정리한 페이지입니다 :)
</aside>
JPA (Java Persistence API)
- 자바 ORM 기술에 대한 표준 명세, JAVA에서 제공하는 API
- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
- JPA 인터페이스를 구현한 대표적인 오픈소스가 Hibernate
- ORM 이기 때문에 자바 클래스와 DB테이블을 매핑
<aside> 💡 JPA는 특정 기능을 하는 라이브러리가 아닙니다
</aside>
<aside> 💡 ORM은 DB 테이블을 자바 객체로 매핑함으로써 객체간의 관계를 바탕으로 SQL을 자동으로 생성하지만 Mapper는 SQL을 명시해야 함
</aside>
JPA 특징
- 데이터를 객체지향적으로 관리할 수 있기에 개발자는 비즈니스 로직에 집중할 수 있고
객체지향 개발가능
- 자바 객체와 DB 테이블 사이의 매핑 설정을 통해 SQL 생성
- 객체를 통해 쿼리를 작성할 수 있는 기능을 지원
- JPA는 성능 향상을 위해 지연 로딩이나 즉시 로딩과 같은 몇가지 기법을 제공하는데
이것을 잘 활용하면 SQL을 직접 사용하는 것과 유사한 성능을 얻을 수 있음