스프링

[Spring JPA] ORM, Spring JPA 그리고 Hibernate

zumsim 2023. 1. 8. 03:16
728x90
반응형

JPA를 공부하기에 앞서 ORM에 대해 알아야 한다.

 

ORM이란?

 

Object Relational Mapping의 약자로 단어에서 보듯 객체지향과 관련이 있다.

객체지향을 자동으로 관계형 데이터베이스에 맞게 처리해주는 기법이라고 생각하면 이해가 편할 것 같다.

ORM은 '객체지향'의 구조가 '관계형 데이터베이스'와 유사하다는 점에서 시작했다.

책을 읽으며 이해한대로 정리해보았다.

객체지향 관계형 데이터 베이스 비고
클래스 Table  
인스턴스 Row(레코드 혹은 튜플) 객체가 데이터+메서드라는 의미라면
Row는 데이터만을 의미
참조 관계  

 

JPA란?

 

JPA는 Java Persistence API의 약자로 ORM을 Java 언어에 맞게 사용하는 '스펙'이다.

ORM이 좀 더 상위 개념이 되고, JPA는 Java에 국한된 개념으로 볼 수 있다.

여러 프레임워크가 있지만 가장 유명한 것은 'Hibernate'이다.

 

 

Hibernate?

 

Hibernate는 '오픈소스'로 ORM을 지원하는 프레임워크다.

다른 프레임워크도 그렇지만 Hibernate는 단독으로 프로젝트에 적용이 가능한 독립된 프레임워크다.

Spring Data JPA가 Hibernate를 스프링 부트에서 쉽게 사용 할 수 있는 추가적인 API를 제공한다.

728x90
반응형

'스프링' 카테고리의 다른 글

[Spring] Pageable 인터페이스 사용해보기  (0) 2023.01.08
[Spring] JpaRepository 사용법  (0) 2023.01.08
엔티티 클래스(Entity Class)  (0) 2023.01.08
RedirectAttributes  (0) 2021.05.06
PropertyPlaceHolderConfigure  (0) 2021.04.08