애플리케이션에서 DB를 직접 다룰때의 문제점
- DB 테이블 생성
- SQL 작성
- JDBC를 이용하여 SQL 실행 ( jdbcTemplate.update(sql, "Robbie", "오늘 하루도 화이팅!");)
- SQL 결과를 객체로 직접 만들어줘야함
= SQL에 의존적이라 변경에 취약함 (SQL을 직접 수정하고 변환부분도 추가 작성필요)
이에, ORM(Object-Relational Mapping)이 등장!
ORM (Object-Relational Mapping)
- Object : "객체"지향 언어 (자바, 파이썬)
- Relational : "관계형" 데이터베이스 (H2, MySQL)
- 반복적이고 번거로운 애플리케이션 단에서의 SQL 작업을 줄여주기 위해 등장
JPA (Java Persistnece API)
- 자바 ORM 기술에 대한 표준 명세
- JPA는 애플리케이션과 JDBC 사이에서 동작되고 있습니다.
- JPA를 사용하면 DB 연결 과정을 직접 개발하지 않아도 자동으로 처리해줍니다.
- 또한 객체를 통해 간접적으로 DB 데이터를 다룰 수 있기 때문에 매우 쉽게 DB 작업을 처리할 수 있습니다.
- 하이버네이트(Hibernate)란?
- JPA 는 표준 명세이고, 이를 실제 구현한 프레임워크 중 사실상 표준이 하이버네이트입니다.
- 스프링 부트에서는 기본적으로 ‘하이버네이트’ 구현체를 사용 중입니다.
- 하이버네이트(Hibernate)란?
'Spring > Springboot-Intellij' 카테고리의 다른 글
[SpringBoot] 인증과 인가 / 쿠키와 세션 (0) | 2025.02.03 |
---|---|
[SpringBoot] Bean 수동 등록, 같은 타입 Bean이 2개인 경우엔? (0) | 2025.02.03 |
[SpringBoot] Spring MVC - Path Variable과 Request Param (0) | 2025.01.30 |
[SpringBoot] Spring MVC - Jackson, ObjectMapper (0) | 2025.01.30 |
[SpringBoot] Spring MVC - 데이터를 Client에 반환하는 방법(JSON), RestController (0) | 2025.01.30 |