본문으로 바로가기

[JPA] JPA란?

category TIL/JPA 2022. 4. 19. 14:44

JPA (Java Persistence API)

자바를 사용하는 응용프로그램에서 관계형 데이터베이스의 관리를 표현하는 자바 API
  • EJB(Enterprise Java Bean)에서 제공하는 엔터티 빈(Entity Bean)을 대체하는 기술
  • EJB 컨테이너에 의존하지 않음

 

구성

  1. javax.persistance 패키지로 정의 된 API 그 자체
  2. JPQL (Java persistance Query Language)
  3. 객체/관계 메타데이터

 

관련 기술

  • EJB (Enterprise Java Beans)
    • JPA의 정의를 포함하고 있음
    • EJB 컨테이너 or 자바 EE 응용프로그램 서버가 필요함
  • Java Data Object API
  • Service Data Object API
  • Hibernate
    • 자바 언어를 위한 객체 관계 매핑 프레임워크
    • 객체 지향 도메인 모델을 관계형 데이터베이스로 매핑하기 위한 프레임워크를 제공

 

주요 기능

  • 확장된 객체-관계형 매핑 기능
    • ORM과 다대일 관계로 연결된 내장 객체들의 콜렉션 지원
    • 리스트 정렬
    • 접근 유형 조합
  • Criteria 쿼리 API
  • SQL 힌트의 표준화
  • DDL 생성 지원을 위한 추가적인 메타데이터 표준화
  • 유효성검증 지원
  • 공유 객체 캐시 지원

'TIL > JPA' 카테고리의 다른 글

[JPA] 데이터베이스 스키마 자동 생성하는 방법  (0) 2022.05.07
[JPA] annotation 종류  (0) 2022.05.06
[JPA] N+1 문제  (0) 2022.04.19
[JPA] Querydsl 설정  (0) 2022.04.19