-
JPA는 Java Persistence API의 약자로 Java의 ORM 표준이다.
기존의 JDBC와 Java 앱 사이에서 사용되는 API다.
기존의 RDB, SQL과 객체지향적 코드 사이에는 문제점이 있다.
RDB 같은 경우 SQL을 통해 DB에 접근하여 데이터를 관리할 수 있다.
하지만 객체지향적 언어에서 사용되는 상속 관계 등을 명확하게 표현할 수 없다.
또, 참조되는 객체 사이에서는 그 이동이 자유로워야 한다. 하지만 RDB를 통해 가져온 데이터에서는 매번 Join을 통해 새롭게 데이터를 추가해야한다.
이런 상황에서 여러 상황에서 쓰이는 쿼리를 매번 작성하는 것이 번거롭기에 JPA가 등장했다.
JPA는 지연 로딩, 즉시 로딩을 지원하며 상황에 따라 필요한 객체를 필요 시점에 맞게 불러올 수 있다.
이런 JPA는 JDBC와 앱 사이에서 동작하면서 쿼리 작성이나 앞서 언급한 문제점 등을 줄여준다.
JPA는 인터페이스로 실제 그 동작의 구현체를 지정할 수 있는데 Hibernate라는 오픈소스가 대표적인 그 예시이다.
이렇게 매번 번거롭게 쿼리를 수정할 필요 없이 여러 DB 벤더에 맞는 의존성을 추가하면서 쉽게 DB에 접근할 수 있는 ORM이 JPA이다.
'개발 > Java' 카테고리의 다른 글
[JPA] PK Mapping (0) 2023.02.12 [JPA] Persistence Context (0) 2023.01.14 [Spring Boot] Reason: Validation failed for query for method public abstract (0) 2022.06.09 [SpringBoot] URL 이미지 반환하기(2) - Redis Caching (0) 2022.05.16 [JAVA] 입출력 (0) 2022.04.25