ORM 표준화된 API
JAVA EE에 포함된 사양 중 하나
Spring Data JPA자바 객체와 DB 테이블 사이의 매핑 설정을 통해 SQL을 생성
해야할 일 2개
- Entity 클래스 작성
- EntityManager 메서드 호출
JPA Interface : 인터페이스 → 상속 Hibernate, EcipseLink, DataNucleus 등 : 구현체
- JPA 프로바이더

객체를 통해 쿼리를 작성할 수 있는 JPQL(Java Persistence Query Language) 지원
JPA는 성능 향상을 위해 지연 로딩이나 즉시 로딩과 같은 몇가지 기법을 제공하는데 이것을 잘 활용하면 SQL을 직접 사용하는 것과 유사한 성능을 얻을 수 있습니다.
하지만 잘못이해하고 사용하는 JPA는 성능을 크게 감소시킬 수 있습니다
JPA란
실무에서 JPA를 사용하고 있는데 올바르게 사용하고 있는지 확신이 들지않아 최근에 공부를 시작했습니다. "JPA 프로그래밍 입문"이란 책을 읽고 공부하며 제가 이해한 내용을 정리하는 곳이니 참고용으로만 봐주시면 감사할 것 같습니다. JPA란 DB 테이블과 자바 객체 사이의 매핑을 처리해주는 ORM이란 기술의 표준입니다. 따라서 JPA에는 객체와 DB 사이의 매핑을 어떻게 설정하고 어떻게 동작해야하는지 기술하고 있습니다.
https://dev-troh.tistory.com/150
@Entity 애노테이션을 붙인 클래스를 "엔티티"라고 부릅니다.
하지만 프로그램에서는 영속 컨텍스트에 직접 접근할 수 없고 EntityManager를 통해서만 영속 컨텍스트에 접근할 수 있습니다.
- AIO Example
[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 JPA 설정 방법 ] 입니다. : ) JPA를 들어가기 전에 ORM부터 간단하게 알아보자. 실제 예제부터 먼저 돌려보고 나중에 이해해도 무방 할 것 같다. - Object-Relational Mapping (객체와 관계형데이터베이스 매핑, 객체와 DB의 테이블이 매핑을 이루는 것) - 객체가 테이블이 되도록 매핑 시켜주는 프레임워크 이다.
https://goddaehee.tistory.com/209
![[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정](https://www.notion.so/image/https%3A%2F%2Fk.kakaocdn.net%2Fdn%2FbUHeS3%2FbtqCaRN7gVh%2F0ZQRYe0CF6tQeD3d9d8ITk%2Fimg.png?table=block&id=aae5ac75-e946-4199-bc7e-e812502559db&cache=v2)


Seonglae Cho