본문 바로가기
Java

ORM, JPA, 하이버네이트의 개념과 예시

by yapdol 2023. 8. 20.

 

 

 

 

 

 

✅ 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