Database

ORM이란?

sangyunpark 2023. 8. 31. 22:59

사전 개념

Persistence : 영속성

프로그램이 종료되더라도 생성된 데이터가 없어지지 않는 것

 

데이터 영속성의 예시

ex) 일기장 어플에서 어플을 종료시켜도 일기에대한 데이터는 유지된다. 

 

데이터 영속성을 위해서는 DB를 사용해야 한다.

 

Persistence Framework

DB에 저장되어 있는 영속성있는 데이터를 사용하게 편하게 해주는 것

DB와의 연동되는 시스템을 빠르게 개발하고, 안정적인 구동을 보장해주는 프레임워크

 

장점

(1) 재사용 및 유지보수 용이 - 다양한 DB를 교체만을 통해서 사용이 가능하다.

(2) 직관적인 코드

 

Persistence Framework의 종류

(1) SQL Mapper

(2) ORM

 

ORM은 Object Relational Mapping(객체-관계-매핑)의 약자이다. ORM은 객체와 데이터베이스의 관계를 매핑해주는 도구

 

SQL Mapper

- SQL을 개발자가 직접 작성 ('select name from students')
- 매핑 : 쿼리 수행 결과와 객체

- 단점 : DB 종류 변경시 쿼리 수정 필요

- 단점 : 비슷한 쿼리를 반복적으로 작성해야 함

 

ORM : Object Relation Mapping

- Object와 DB테이블 매핑

- java 함수를 사용하면 자동으로 SQL이 만들어짐

- 매핑 : DB 테이블과 객체

- 단점 : 복잡한 쿼리를 자바 메서드 만으로 해결하는 것이 불편