JPA
JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준으로 채택된 인터페이스의 모음입니다. ORM이 큰 개념이라면 JPA는 더 구체화된 스펙을 포함합니다. 즉, JPA 또한 실제로 동작하는 것이 아니고 어떻게 동작해야 하는지 메커니즘을 정리한 표준 명세로 생각하면 됩니다. 아래 그림에서 JPA의 역할이 ORM이라고 보면 무난합니다.
JPA의 메커니즘을 보면 내부적으로 JDBC를 사용합니다. 개발자가 직접 JDBC를 구현하면 SQL에 의존하게 되는 문제 등이 있어 개발의 효율성이 떨어지는데, JPA는 이 같은 문제점을 보완해서 개발자 대신 적절한 SQL을 생성하고 데이터베이스를 조작해서 객체를 자동 매핑하는 역할을 수행합니다.
JPA 기반의 구현체는 대표적으로 세 가지가 있습니다. 아래 그림과 같이 하이버네이트(Hibernate), 이클립스 링크(EclipseLink), 데이터 뉴클리어스(DataNucleus)이며, 그 중 가장 많이 사용되는 구현체는 하이버네이트입니다.
반응형
'웹 개발 > 🍃 SpringBoot' 카테고리의 다른 글
JPA | 영속성 컨텍스트 (0) | 2025.01.07 |
---|---|
JPA | 하이버네이트 (0) | 2025.01.07 |
JPA | ORM (1) | 2025.01.07 |
SpringBoot | POST,PUT,DELETE API를 작성하는 방법 (1) | 2024.12.26 |
SpringBoot | GET API를 작성하는 방법 (0) | 2024.12.23 |