본문 바로가기
FrameWork/Spring

JPA (작성중)

by titlejjk 2023. 7. 12.

JPA는 Java Persistence API이다.👉

Memory(ram)은 휘발성 데이터 저장소이다. 이 ram은 전기가 끊어지면 데이터가 증발하기 때문에 비휘발성인 HardDisk에 영구적으로 저장할 수 있게끔 해줘야한다.

Java에 데이터를 영구히 기록할 수 있게 해주는 API를 JPA라 말한다.

 

API란?👉

Application Programming Interface라고 말한다.

Application 은 프로그램

Programming 은 프로그램을 만드는 과정?

Interface는 그걸 만들게 해주는 것을 Interface라 한다.

프로그램을 만들기 위해서 제공해주는 것을 API라 한다.

프로토콜과 인터페이스는 약속을 의미한다. 하지만 서로 약속의 의미는 다르다.

인터페이스의 예 => 나랑 연락하려면 너희 들이 직접 찾아와 (상하관계가 존재하는 약속)

프로토콜의 예 => 서로 동등한 관계로 존재하는 약속이라 상하관계가 존재하지 않는다.

 

즉 JPA는 Java Persistence Application Programing Interface이렇게까지 풀어서 해석하는 것이 좋다.

Java 프로그램을 할 때 영구적으로 저장하는 기능이 필요한 인터페이스를 JPA라고 한다!

 

JPA는 ORM기술이다.👉

ORM은 Object Relational Mapping 즉 Object를 데이터베이스에 연결하는 방법론 같은 것?이다.

모델링한다는 것은 추상적인 것을 구체화 시킨다는 것을 말한다.

자바에서 DB에 Input 하는 작업은 DML(delete, updtae, insert)라 하고 Output하는 작업을 Select라 한다.

DB에서 Input을 하거나 Output을 하거나 할 때 자바와 데이터타입이 다른데 이를 해결하기 위해 데이터베이스를 모델링 해야한다.(Dto같은 느낌?으로..)

먼저 Dto를 만들고 이를 통해 데이터베이스를 생성할 수 있는데 이를 가능 하게 해주는 것이 JPA의 인터페이스 이다.

이 인터페이스의 규칙을 잘 지키면 사용자가 클래스를 만들어 실행하면 데이터베이스에 테이블이 자동으로 생성되는 것을 ORM이라 한다.

 

JPA는 반복적인 CRUD작업을 생략하게 해준다.👉

Select, Select All, Delete, Update, Insert등은 반복적인 작업인데, 이런 작업들을 할 때 자바프로그램에서 데이터베이스에게 커넥션을 요청한다.  이 때 Java와 데이터베이스간의 데이터타입들을 간단한 함수로 연결해 주는 것이 JPA의 기능중 하나이다.

'FrameWork > Spring' 카테고리의 다른 글

@RequiredArgsConstructor  (0) 2023.07.16
Spring은 어떻게 다양한 설정 형식을 지원할까?BeanDefinition  (0) 2023.07.13
Spring Framework에 대해 정리해보기  (1) 2023.07.11
관심사 분리  (0) 2023.07.10
AOP란?🧑‍💻  (0) 2023.07.01

댓글