안녕하세요
그간 작업 중이던 개발 작업을 마치고
요즘 JPA와 SpringBoot를 함께 사용하는
공부를 하고 있습니다
그 와중에 ORM 이란 말을 듣게 되었고
궁금해서 알아보고 JPA와 ORM을 포스팅으로 간단하게 정리해보고자 합니다
ORM ( Object-Relational Mapping )
- 관계형 데이터베이스(Relational Database)의 데이터와 객체(Object)를 변환 및 연결(Mapping)하여 관리하는 기술
- 연결된 가상 객체 데이터베이스(Virtual Object Database)를 프로그래밍 언어 내에서 사용해서 실제 데이터베이스를 관리하는 기술 = 객체를 통한 데이터베이스 관리 기술
장점
- 개발자가 직접 SQL문을 작성하지 않아도 연관관계(Mapping)를 바탕으로 자동으로 SQL문을 생성해준다
- 관계형 데이터베이스(Relational Database)에 대한 종속성이 줄어든다(변환의 자유)
- 소스코드에 SQL문이 줄어듦으로 코드의 직관성이 좋아진다
- 데이터베이스 중심 설계가 아닌 객체 중심 설계가 되면서 객체지향의 장점을 극대화할 수 있다
단점
- 복잡한 SQL 쿼리를 전달하기 위해서는 별도로 명령어를 공부해야 한다(SQL을 알면 금방 습득하므로 담점 축에도 못 든다)
- 간단한 객체 명령어로 이루어지므로 SQL 쿼리문에 대한 이해도가 낮을 경우 장애를 유발할 수 있다
JPA ( Java Persistence API )
- Java 진영의 ORM 기술에 대한 Interface = ORM에 대한 Java API 규격
구현체
- Hibernate, EclipseLink, Apache OpenJPA, TopLink...
Hibernate
- 널리 사용하는 JPA를 구현한 구현체중 하나이다
간단하게 ORM, JPA, Hibernate를 정리해보았습니다
핵심은 ORM이며 JPA는 ORM을 Java에 맞춘 명세서 Hibernate는 JPA 구현체로
정리할 수 있겠네요
다이렉트 쿼리와 Mybatis만 사용해서 개발을 해본 초보 개발자인 저에게
JPA 기술은 어려운 기술이었지만
한 달 정도 배워보니 이제 슬슬 감이 잡히는 것 같습니다
진입장벽이 높은 JPA이지만 활용도는 높으니 열심히 배워봐야겠습니다
출처 : ychae-leah.tistory.com/134
ORM(Object-Relational Mapping)이란?
ORM이란? ORM (Object-Relational Mapping) 객체(Object)와 관계형 데이터베이스(Relational Database)의 데이터를 매핑(Mapping)해주는 것을 의미한다. 객체 간의 관계를 바탕으로 SQL을 자동을 생성해서 sql 쿼..
ychae-leah.tistory.com
출처 : goddaehee.tistory.com/209
[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정
[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 JPA 설정 방법] 입니다. : ) 0. 기본개념 JPA를 들어가기 전에 ORM부터 간..
goddaehee.tistory.com
출처 : en.wikipedia.org/wiki/Main_Pageen.wikipedia.org/wiki/Object%E2%80%93relational_mapping
Object–relational mapping - Wikipedia
Object-relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object databas
en.wikipedia.org
'Web Programming > SpringBoot' 카테고리의 다른 글
자주쓰는 어노테이션 (0) | 2020.07.16 |
---|