관리 메뉴

웹개발 블로그

ORM 본문

◆ SPRING BOOT/정리

ORM

쿠키린 2023. 2. 12. 17:13

ORM

- Object Relational Mapping

- 비유 : 나의 하인

- 클래스를 하나 만들어보면 모델 클래스가 있는데(건물을 짓는 설계도) 이 설계도를 가지고 건물을 짓게 되면 모델링한다고 부른다.

- 모델링 : 추상적인 개념을 현실세계에 뽑아낸다.

- 데이터베이스에 데이블에 ID(int), Name(varchar), Year(varchar) 설계하고 나서 자바에서 사용하려면?

ㄴ 자바 프로그램에서 input하거나 output하기도 하겠지?

ㄴ 넣기도 하고(DML) 가져오기(SELECT)도 하고

SELECT하거나 집어넣을때 자바가 들고있는 타입과 테이블에 데이터 타입은 다르거든

     ㄴ 그래서 자바는 테이블에 데이터 타입을 모델링하여 클래스를 만들어야해.

🔽

 

Google Slides: 로그인

로그인 프레젠테이션으로 이동

accounts.google.com

ORM을 사용하면(기존에는 TRM : 테이블을 토대로 생성해야함)

상황이 역전이 된다.

자바 클래스를 만들고 이를통해 데이터베이스를 자동 생성

이때 필요한게 뭐냐면

JPA가 가지고 있는 인터페이스

ㄴ 인터페이스의 규칙을 지키면 데이터 베이스에 테이블이 자동으로 생성되는 기법이 ORM이라 불린다.

 

[흐름]

함수를 사용하면 중복(반복)작업되는 CRUD를 

자바프로그램에서 CONNECTION을 요청하고

DB는 SESSION을 오픈하게 되고

서로 연결이 된다.

자바에서 CONNECTION을 받고 쿼리를 전송한다

 

테이블에 데이터를 자바에 응답하게 된다.

그럼 자바가 이해할 수 있도로  변경해야하는데

엄청난 로직이 아닌 단순한 반복 로직 (즉 노가다지?)

- 기본적으로 반복되는 이런일을 줄여주는게 JPA다.

 

[정리]

그래서 나의 하인

- 반복 작업 단순하게 도와주고

- 내가만든 클래스를 데이터베이스 테이블로 만들어준다.