DB를 직접 다룰 때의 문제점
- SQL에 의존적이라 변경에 취약함.
=> ORM이 없는 환경에서는 백엔드 개발자가 비즈니스 로직 개발보다는 SQL 작성 및 수정에 더 많은 노력을 들였어야 함.
1) ORM
: 객체와 DB를 mapping 해주는 도구 (Object-Relational Mapping의 약자.)
- 반복적이고 번거로운 애플리케이션 단에서의 SQL 작업을 줄여주기 위해 등장
2) JPA (Java Persistence API)
: 자바 ORM 기술의 대표적인 표준 명세 (ORM 기술 중 표준적인 기술)
- 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 |