[CS][Java] JPA(Java Persistence API)
JPA(Java Persistence API)
자바 진영의 ORM 기술 표준으로 채택된 인터페이스의 모음
> ORM(Object Relational Mapping)이란
- 객체 관계 매핑을 의미
- 자바 객체(클래스)와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법
- ORM 장점/단점
> JPA 기반 구현체
- Hibernate(하이버네이트)
spring-boot-starter-data-jpa
로 패키지를 사용하면 Hibernate 프레임워크를 활용
- EclipseLink(이클립스 링크)
- DataNucleus(데이터 뉴클리어스)
> JPA 메커니즘
- 내부적으로 JDBC를 사용
- 개발자가 직접 JDBC를 구현하면 SQL에 의존하게 되는 문제 등이 있어 개발의 효율성이 떨어짐
- JPA는 위와 같은 문제점을 보완해서 개발자 대신 적절한 SQL을 생성하고 데이터베이스를 조작해서 객체를 자동 매핑하는 역할을 수행
참고