
✅ ORM (object-relationcal mapping)
자바의 객체와 데이터베이스를 연결해 자바 언어로만 데이터베이스를 다룰 수 있게 하는 도구.

✅ ORM의 장단점
📌 장점
- SQL을 직접 작성하지 않고 사용하는 언어로(ex. java) 데이터베이스에 접근 가능.
- 객체지향적으로 코드를 작성할 수 있기 때문에, 비즈니스 로직에만 집중 가능.
- 데이터베이스 시스템에 대한 종속성 감소
: 데이터베이스 시스템이 추상화되어 있기 때문에, MySQL → PostgreSQL로 전환해도 추가 작업 필요 X
- ERD에 대한 의존도 감소
: 매핑하는 정보가 정확하기 떄문에 ERD에 대한 의존도를 낮출 수 있고, 유지보수에 유리함.
📌 단점
- 프로젝트의 복잡성이 커질수록 사용 난이도 증가.
- 복잡하고 무거운 쿼리는 ORM으로 해결 불가능한 경우도 있음.
✅ JPA 와 하이버네이트
📌 JPA (Java Persistence API)
- 자바에서 표준으로 사용하는 ORM.
- 자바와 관계형 데이터베이스(RDB)를 사용하는 방식을 정한 '인터페이스'.
(인터페이스이기때문에 ORM 프레임워크를 추가 선택 필요.)
- 객체 지향 도메인 모델과 데이터베이스 다리 역할을 함.
📌 하이버네이트
- JPA를 실제 사용하기위해 사용하는 대표적인 '자바용 ORM 프레임워크'.
- JPA 인터페이스를 구현한 구현체.
- 내부적으로 JDBC API 사용.

참고자료 : 스프링 부트 3 백엔드 개발자 되기: 자바 편
https://product.kyobobook.co.kr/detail/S000201766024
스프링 부트 3 백엔드 개발자 되기: 자바 편 | 신선영 - 교보문고
스프링 부트 3 백엔드 개발자 되기: 자바 편 | ★ 자바 백엔드 개발자가 되고 싶다면 ★ 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은
product.kyobobook.co.kr