본문 바로가기
Web/Spring

[Spring] Spring Data JPA란?

by 희조당 2022. 8. 13.
728x90

📌 Spring Data JPA란?

  • JPA 구현체(Hibernate)를 좀 더 쉽게 사용하고자 추상화시킨 모듈
  • Spring Boot에서 쉽게 사용할 수 있는 추가적인 API를 제공한다.

Spring에서 DB까지


📌 Hibernate VS Spring Data JPA

사실 Hibernate와 Spring Data JPA를 사용하는 것은 큰 차이가 없는데 왜 Spring Data JPA가 등장했을까?

 

✔️ 구현체 교체의 용이성

  • 구현체 교체의 용이성이란? Hinernate 외에 다른 구현체로 쉽게 교체할 수 있다는 뜻이다.
  • Spring Data JPA 내부에서 구현체 매핑을 지원해주기 때문에 새로운 구현체가 등장하면 쉽게 옮길 수 있다.

✔️ 저장소 교체의 용이성

  • 저장소 교체의 용이성이란? 관계형 데이터베이스 외에 다른 저장소로 쉽게 교체할 수 있다는 뜻이다.
  • 만약 Mysql에서 MongoDB로 교체가 필요하다면 단순히 의존성만 교체하면 된다.
  • Spring Data 하위 프로젝트의 기본적인 CRUD의 인터페이스가 같기 때문에 가능하다.

📌 Spring Data JPA의 장단점

✔️ 장점

  • 겍체지향 개발이 가능하다. 따라서 객체 자체에 집중 가능하다.
  • 데이터베이스 관련 코드에 대해서 유연하다.
  • 빠른 개발이 가능하다.

✔️ 단점

  • 높은 러닝 커브
  • 객체지향 설계 사상이 반영되야한다.
  • 특정 DB의 강력함을 쓸 수 없다.

 

댓글