짱아의 개발 기록장

[Spring Boot] Spring Data Jpa란? 본문

반응형

JPA는 Spring boot에서 사용하는 ORM이다. JPA는 인터페이스이기 때문에 구현체가 필요한데, 여러 가지의 구현체가 존재한다.

 

[JPA의 구현체]

Spring Data Jpa -> Hibernate, Eclipse Link보다 한 단계 더 추상화한 개념

Hibernate, Eclipse Link -> JPA의 구현체

JPA <- Hibernate, Eclipse Link <- Spring Data JPA

 

[Spring Data Jpa를 권장하는 이유]

Spring팀에서도 실제로 Spring Data Jpa의 사용을 더 권장하고 있는 것으로 알고 있다.

그 이유는 크게 2가지 때문이다.

 

1) 저장소의 교체가 용이하다.

Spring Data 하위에는 Spring Data JPA, Spring Data MongoDB, Spring Data Redis 등 여러가지가 존재한다.

save(), findAll, findOne()  등을 인터페이스로 가지고 있다. 그러다 보니 저장소를 교체하더라도, 기본적인 기능은 바뀔 것이 없다.

 

2) 구현체의 교체가 용이하다.

Hibernate 외에 다른 구현체로 쉽게 교체하기 위해서이다.

Hiberante가 언젠가 수명을 다해서 새로운 JPA의 구현체가 대세로 떠오르게 될때, Spring Data JPA를 사용하고 있으면 쉽게 구현체 교체가 가능하다.

 

 

반응형
Comments