일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- instance생성
- PostgreSQL
- route53
- ansible
- awsconsole
- 3tierarchitecture
- enum
- AWS
- anymatch메서드
- Spring
- string_agg()
- 열려있는포트
- 리스트중복제거
- db
- 지옥같은git
- 권한정책
- conponent
- 널포인터에러
- Annotation
- wordpress블로그
- port닫기
- enumtype
- stereotypeannotation
- mybatis
- WordPress
- lightsail
- 중복제거
- 리스트중복값
- Java
- listnull
- Today
- Total
Anyway
[DB/JPA] ORM이란? 본문
ORM이란?
➡️ Object Relational Mapping
Object를 Database에 연결하는 방법론
Class를 살펴보면
건물을 짓는 설계도(2D)를 가지고 실제 건물로 만든다고 할 때 이것을 모델링
한다라고 할 수 있다.
모델링
을 한다는 것은 추상적인 개념을 현실 세계에 뽑아내는 것을 말한다.
Database로 살펴보면
테이블 설계 이후 Java에서 사용하고자 할 때 Java Program에서 어떠한 data를 테이블로 input하기도 하고 input된 data를 java로 가져와서 output하기도 한다. 밀어넣기도 하고 가져오기도 하는데 밀어 넣는 작업을 DML(Delete, Update, Insert, Select)이라고 한다.
이 때 data를 가져오거나 밀어넣을 때 Java가 들고있는 data type과 Database가 들고있는 data type이 다르다. 때문에 Class를 통해 Database에 있는 테이블을 모델링 해야한다.
실제로 모델링을 하게되면
public class Example {
int id;
String name;
String loc;
}
Database에 있는 data를 Java에 모델링 한 것이라고 할 수 있다.
즉 프로그래밍을 할 때 원래의 순서라면 Database에 table을 먼저 만들고 Class를 만들겠지만 역으로 바꿔버릴 수도 있다. ORM = object를 통한 relational mappling이기 때문에 역전되는 것이다.
먼저는 1️⃣Class를 만들게 되고 Class를 통해 2️⃣table을 자동 생성할 수 있다. 이 때 필요한 것이 JPA가 가지고 있는 인터페이스이다. 이 인터페이스 규칙을 지키며 Class를 만들어서 실행을 하면 Database에 table이 자동 생성되는 기법을 ORM이라고 한다.
'Database' 카테고리의 다른 글
[DB] postgresql Count 함수 사용하기 (0) | 2024.12.19 |
---|---|
[DB] Mybatis에서 if문에 enum 비교값 사용하기 (2) | 2024.12.18 |
[DB] Select문 STRING_AGG() 함수 사용하기 (0) | 2024.10.04 |