-
JPA란 무엇일까spring/스프링 입문 주차 2024. 1. 23. 09:22
직접 DB를 다룬다면
1. DB 테이블 만들기
2. 애플리케이션에서 SQL 작성
3. SQL을 JDBC를 사용해서 직접 실행
4. SQL 결과를 객체로 직접 변환
SQL 의존적이라 변경에 취약하다
만약 데이터에 비밀번호를 추가해야 한다면 어떻게 될까?
1. SQL 을 직접 수정
2. ResponseDto 객체에 값을 넣어주는 부분도 당연히 추가해줘야 한다.
단순히 비밀번호 하나 더 추가했는데 해야하는 일들이 엄청 많이 생겼다.
이처럼 ORM 이 없는 환경에서는 백엔드 개발자가 비즈니스 로직 개발보다,
SQL 작성 및 수정에 더 많은 노력을 들어야 했었다.
ORM : Object-Relational Mapping
Object : '객체'지향 언어
Relational : '관계형' 데이터베이스 (H2, MySQL)
웹 서버 <-> ORM <-> DB
이렇게 하나의 계층을 추가하는 것으로 직접 DB를 다뤄야 하는 단점을 해결한 것이 바로 ORM 이며,
그 기술을 대표적인 기술이 바로 JPA 이다.
이 때 JPA는 추상 객체이며, 대부분의 경우 구현체로서 HiberNate를 사용한다.'spring > 스프링 입문 주차' 카테고리의 다른 글
엔티티의 상태 (1) 2024.01.25 영속성 컨텍스트의 기능 (0) 2024.01.25 제어의 역전, ApplicationContext (2) 2024.01.22 IoC Container 와 Bean (0) 2024.01.22 JDBC란 무엇일까? (0) 2024.01.18