Jihye Byun
ORM Framework가 무엇인지 설명해주세요.
Try
HackMD
Jihye Byun
·
Follow
Last edited by
Jihye Byun
on
May 17, 2023
Linked with GitHub
Contributed by
ORM Framework가 무엇인지 설명해주세요.
정의
ORM이란 Object Relational Mapping의 줄임말
객체 지향 프로그래밍과 관계형 데이터베이스간에 통신시 발생하는
패러다임 불일치 문제를 해결
하고자
객체와 관계형 데이터베이스 간에 데이터를 자동으로 매핑해주는 기술
을 의미
장점
별도의 SQL문을 사용하지 않아도
객체 지향 프로그래밍 언어로 구현이 가능하며 이는 곧 생산성 증가로 이어진다.
대량의 SQL Query를 쓰지 않고도 객체간의 관계를 풀어낼 수 있기 때문에 개발자가 좀 더 직관적으로 객체간의 관계를 파악할 수 있다.
재사용 및 유지보수가 편리하다.
매핑하게 되면 정보가 명확해지기 때문에 ERD를 보는 것에 대한 의존도를 낮출 수 있다.
ORM은 독립적으로 작성이 되어 있고 해당 객체들은 재사용이 가능하다.
DBMS에 대한 종속성이 줄어든다.
대부분의 ORM 프레임워크들은 DB에 종속적이지 않다.
그러므로 개발자들은 객체에 집중함으로써 DBMS를 교체하는 극단적인 작업에도 비교적 적은 리스크와 시간이 소요된다. (여기서 종속적이라는 것은 프로그램 구조가 데이터 구조에 영향을 받는 것을 의미한다.)
DB의 마이그레이션을 쉽게 할 수 있다.
단점
완벽한 ORM 으로만 서비스를 구현하기가 어렵다.
모든 것을 ORM을 통해서만 구현하는 것은 힘들다. 잘못 구현된 경우에 속도 저하 및 심각할 경우 일관성이 무너지는 문제점이 생길 수도 있다.
DB에 직접 Query문을 보내는 것이 아니기 때문에 성능저하가 발생한다.
DB와 ORM 프레임워크, 내부코드에 대한 충분한 이해가 없는 경우 문제 해결이 힘들다.
DB와 바로 연결하는 것보다 초기설정이 더 많아지거나 복잡해 질 수있다.
참고
ORM, JPA, Hibernate, Spring Data JPA를 각각 비교해보세요.
ORM
객체 지향 프로그램과 관계형 데이터베이스 간에 통신시 발생하는
패러다임 문제를 해결
하기 위해
데이터를 자동으로 매핑해주는 기술
을 의미
JPA
자바 진영의 ORM을 위한 명세를 의미
Hibernate
Java 진영의 ORM 명세인
JPA를 구현한 여러 구현체 중 하나
를 의미.
JPA 구현체로써 Hibernate 외에도 EclipseLink나 DataNucleus 등이 존재
Spring Data JPA
Spring 환경에서 JPA를 편리하게 사용할 수 있도록 Repository 기반으로 추상화 시킨 스프링 서브 프로젝트이다.
Spring Data JPA는 JPA 사용시 발생하는 수 많은 boilerplate를 없애주고 pagination이나 Query Method 등의 다양한 기능을 지원한다.
tags:
ORM-JPA
ORM Framework가 무엇인지 설명해주세요.
정의
장점
단점
참고
ORM, JPA, Hibernate, Spring Data JPA를 각각 비교해보세요.
Expand all
Back to top
Go to bottom
ORM Framework가 무엇인지 설명해주세요.
정의
장점
단점
참고
ORM, JPA, Hibernate, Spring Data JPA를 각각 비교해보세요.
Expand all
Back to top
Go to bottom
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up
Comment