본문 바로가기
내일배움캠프(Sparta)/Spring

[Spring] ORM / JPA / Hibernate

by mmm- 2023. 11. 7.

DB를 직접 다룰 때의 문제점

  • SQL에 의존적이라 변경에 취약함.

=> ORM이 없는 환경에서는 백엔드 개발자가 비즈니스 로직 개발보다는 SQL 작성 및 수정에 더 많은 노력을 들였어야 함.

 

1) ORM

: 객체와 DB를 mapping 해주는 도구 (Object-Relational Mapping의 약자.)

  • 반복적이고 번거로운 애플리케이션 단에서의 SQL 작업을 줄여주기 위해 등장

 

2) JPA (Java Persistence API)

: 자바 ORM 기술의 대표적인 표준 명세 (ORM 기술 중 표준적인 기술)

 

JPA 동작 그림

  • JPA는 애플리케이션과 JDBC 사이에서 동작
  • JPA를 사용하면 DB 연결 과정을 직접 개발하지 않아도 자동으로 처리해줌
  • 객체를 통해 간접적으로 DB 데이터를 다룰 수 있기 때문에 매우 쉽게 DB작업 처리 가능

 

Hibernate

: JPA 를 실제 구현한 프레임워크 중 사실상 표준이 하이버네이트

  • JPA를 구현한 ORM 프레임워크
  • 스프링 부트에서는 기본적으로 하이버네이트 구현체 사용 중
  • CRUD 연산을 실행할 때 사용

 

DB에 데이터를 persist하는 3가지 방법

  • JDBC (자바에서 제공되고 있는 인터페이스)
  • Spring JDBC
  • Hibernate

용어 정리

  • 사실상 표준
    : 보통 기업간 치열한 경쟁을 통해 시장에서 결정되는 비 공식적인 표준

'내일배움캠프(Sparta) > Spring' 카테고리의 다른 글

[Spring] Entity의 상태  (0) 2023.11.07
[Spring] Entity / Persistence Context / Transaction  (0) 2023.11.07
[Spring] IoC / DI / Bean  (0) 2023.11.07
[Spring] 3 Layer Architecture  (0) 2023.11.03
[Spring] JDBC  (1) 2023.11.03