Back End/Spring Data JPA

[Spring JPA] JPA, Hibernate, Spring Data, ORM 의 개념

DevPing9_ 2021. 10. 19. 12:49

# ORM(Object Relational Mapping)

  • Application의 객체(클래스)를 DB의 테이블로 Mapping 한다는 개념 
  • 클래스와 DB의 테이블은 기존부터 호환가능성을 염두해두고 만들어진 것이 아니기 때문에 불일치 발생이 당연
  • 이러한 불일치를 해결하며 객체와 테이블의 관계를 바탕으로 SQL 문장을 자동으로 생성하여 객체로 DB를 조작하게 해주는 것이 ORM

ORM이 하는일


# JPA(Java Persistence API)

  • JAVA진영의 표준 ORM
  • 인터페이스, 구체 클래스는 거의 없음.

 

# Hiberante

  • JPA를 implements 해 구현한 class 라이브러리
  • DataNucleus, EclipseLink 등 JPA를 구현한 다른 라이브러리도 있다.

 

# Spring Data JPA

  • JPA를 한 단계 더 추상화시킨 인터페이스(Repository) 겸 클래스
  • Spring Application과 호환이 편하다.

# JPA, Hibernate, Spring Data JPA, ORM 개념도

 

JPA, Hibernate, Spring Data, ORM 개념도

 

728x90