ORM
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다.
[정리]
그래서 나의 하인
- 반복 작업 단순하게 도와주고
- 내가만든 클래스를 데이터베이스 테이블로 만들어준다.