본문 바로가기
IT지식/데이터베이스

[데이터베이스] ORM에 대해 공부해보자

by five-sun 2022. 12. 14.
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