본문 바로가기
Spring

JPA

by KDW999 2023. 3. 6.

JPA [Java Persistence API]

ㅡ 자바 플랫폼 SE, EE를 사용하는 응용 프로그램에서 관계형 DB의 관리를 담당하는 Java API

ㅡ 자바 ORM 기술에 대한 표준 명세

 

*API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다. 예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있습니다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 ‘대화’하여 휴대폰에 매일 최신 날씨 정보를 표시합니다.

출처 : https://aws.amazon.com/ko/what-is/api/

 

 

*Persistence (지속성)

ㅡ 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성

ㅡ 지속성을 갖지 않는 데이터는 메모리에만 존재하기 때문에 프로그램을 종료하면 모두 상실

 

Object Persistence (영구적인 객체)

ㅡ 메모리 상의 데이터를 DMBS에 영구적으로 저장하여 지속성 부여

ㅡ 데이터를 DB에 저장하는 방법

    1) JDBC

    2) Spring JDBC

    3) Persistence Framewrok (Mybatis, JPA..)

 

Persistence Layer

ㅡ 프로그램의 아키텍처에서, 데이터에 지속성을 부여해주는 계층

ㅡ 과거에는 JDBC를 이용하여 직접 구현하였지만, 최근엔 Persistence Framework를 이용한 개발이 추세

 

Persistence Framework

ㅡ JDBC의 복잡한 프로그래밍 없이 간단한 로직만으로 DB와 연동되는 시스템을 빠르게 개발

 

ORM [Object-Relational Mapping]

ㅡ class 및 instance와 관계형 DB의 table 및 entity를 자동으로 매핑 

    → 객체 모델과 관계형 모델 간에 불일치를 ORM을 통해 객체 모델 간의 관계를 SQL로 자동 생성

 

 

JPA 의존성 주입

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

'Spring' 카테고리의 다른 글

Entity, DTO, VO, Controller, Service, Repository, GET, POST 등  (0) 2023.03.09
Repository  (1) 2023.03.06
Service  (0) 2023.03.06
Controller / DTO  (0) 2023.03.05
Spring 개발환경 세팅 (이클립스, VSCode) / Build, Gradle  (2) 2023.03.03

댓글