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 테이블과 객체
- 단점 : 복잡한 쿼리를 자바 메서드 만으로 해결하는 것이 불편함