728x90
ORM을 알아보기 이전에 영속성에 대해 먼저 알아보자.
영속성(Persistence)이란?
데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성
영구적인 객체 : 메모리 상의 데이터를 파일 시스템, 관계형 DB 혹은 객체 DB 등을 활용하여 영구적으로 저장하여 영속성을 부여한다.
데이터를 데이터베이스에 저장하는 방법들
1) JDBC (Java에서 사용)
2) Spring JDBC (Ex: JdbcTemplate)
3) Persistence Framework(Ex: Hibernate, Mybatis)
ORM이란?
Object-Relational Mapping, 객체와 관계형 DB의 데이터를 자동으로 매핑해주는 것을 말한다.
객체 지향 프로그래밍은 클래스를 사용하고, 관계형 DB는 테이블을 사용한다.
객체 모델과 관계형 모델 간에 불일치가 존재할 수 있는데 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결해준다.
데이터베이스 데이터 <- 매핑 -> Object 필드
ORM의 장점:
- 객체 지향적인 코드로 인해 더 직관적이고, 비즈니스 로직에 더욱 집중할 수 있게 도와준다.
- 재사용성 및 유지보수의 편리성이 증가한다.
- DBMS에 대한 종속성이 줄어든다.
ORM의 단점:
- 완벽한 ORM으로만 서비스를 구현하기가 어렵다.
- 객체-관계 간의 불일치가 생길 수 있다.
- 프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기 어렵다.
728x90
'IT지식 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 정규화에 대해 공부해보자 (0) | 2022.12.15 |
---|---|
[데이터베이스] DB 트랜잭션에 대해 공부해보자. (0) | 2022.12.14 |
[데이터베이스] SQL과 NoSQL (0) | 2022.12.14 |
[데이터베이스] MySQL에 대해 공부해보자 (0) | 2022.12.14 |
[데이터베이스] PostgreSQL에 대해 공부하기 (0) | 2022.12.14 |